CCommand<CDynamicAccessor>rs;long          RecordCount;CString    strSQL;strSQL.Format ("SELECT ID,Name, FROM dbo.studentTable ORDER  BY  ");
if (S_OK  !=  rs.Open(session,strSQL,NULL,&RecordCount))
    return  false;  为什么RecordCount结果不是记录集的实际个数啊?当查询的记录集不为空时RecordCount=0,
记录集为空时RecordCount也为0,怎样就没有办法判断记录集到底是否为空!   CCommand::Open   HRESULT Open( const CSession& session, LPCTSTR szCommand = NULL, DBPROPSET *pPropSet 
  = NULL, LONG* pRowsAffected = NULL, REFGUID guidCommand = DBGUID_DEFAULT, bool bBind = true );
这个函数中的字段pRowsAffected 到底是什么意思,难道不是查询结果记录集的个数?????
pRowsAffected 的值会不会跟游标有关,唉,新手! 非常纳闷,   请高手快帮我看看,急急! 万分感谢!!!  急急!

解决方案 »

  1.   

    int RecordCount;
    RecordCount = 0;
    while(!rs.EOF)
    {
            RecordCount++;
            rs.MoveNext();
    }
      

  2.   

    syy64(太平洋):rs没有EOF这个成员函数啊,所以,你的程序不能运行,还有pRowsAffected 到底是什么意思
      

  3.   

    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM DemoTable",NULL);int i=0;
    while(!RecSet.IsEOF()) // 有没有到表结尾
    {
    ++i;
    RecSet.MoveNext();
    }
      

  4.   

    _RecordsetPtr rs;
    rs.open();
      

  5.   

    pRowsAffected: 指针指向的缓冲区中存放着执行命令所影响到的行的数目.
      

  6.   

    pRowsAffected: 指针指向的缓冲区中存放着执行命令所影响到的行的数目.
    貌似 Update,Insert, Delete有影响,Select无
    Select count() //这样可以吧?
    或者movefirst,movenext, 一条一条的加吧