?

解决方案 »

  1.   

    使用MoveNext();
    设置一个计数变量,以IsEOF()为结束,便可得到总记录数。
    IsBOF()应该可以判别首条记录
      

  2.   

    没有rowcount()类似的函数吗?另外,我程序启动自动MoveFirst(),但是用IsBOF()却不返回0
      

  3.   

    CDaoRecordset::GetRecordCount( );Call this member function to find out how many records in a recordset have been accessed.
    To force the last record to be accessed, call the MoveLast or FindLast member function for the recordset.
      

  4.   

    dao必须通过遍历记录的方法统计总记录书,同意一楼的意见,
      

  5.   

    GetRecordCount( );如记录时返回1,否则为0;
      

  6.   

    调用CDaoRecordset::GetRecordCount(),就可以得到,你是一下就知道了
    采用CRecordset打开记录集,才需要遍历所有记录得到总记录数
      

  7.   

    我来说说我的办法直接获得记录的数量,稍微麻烦点:
    定义、初始化部分省略
    连接部分省略
        m_pRecordset=m_pConnection->Execute("SELECT COUNT(*) FROM ... WHERE ...",
                   &RecordsetAffected,adCmdText);
    /////m_pRecordset为数据集, m_pConnection 为数据连接对象;
        _variant_t index =(long)0;
        _variant_t count=m_pRecordset->GetCollect(index);
        cont.lVal中记录的是记录的总数。
    实际上是让数据表执行一个统计的SQL语句,看统计的结果,
      

  8.   

    获取记录集的个数大致有两种方法:
    1:遍历法,但速度慢,尤其对于数据较多、服务器不在本机的数据库。优点是实现较简单。
    2:SQL查询法,速度快,但要求懂SQL语法。
      

  9.   

    得到记录总数:
    dateset.MoveFirst()
    dataset.MoveLast()
    count=database.RecordCount();
    判断是否为空:
    if(!(corpset.IsBOF()||corpset.IsEOF()))//不为空
    {}
      

  10.   

    huang_yu(HY) 的方法存在严重的漏洞:
      当数据集合为空时,该方法行不通,并且造成致命错误,推出程序!!
      

  11.   

    huang_yu(HY) 的方法行,你可以先用
    if(!(corpset.IsBOF()||corpset.IsEOF()))//不为空
    {}检测一下.挺好用的.