在VC程序中对应表用的是CRecordset类,通过SQL语句“select count(*) from TABLE”可得到TABLE表中的记录数量,但如何将记录数量返回给一个整型变量i;或者还有什么其它办法可得到记录数量的值(注:调用GetRecordCount()函数不行,因为如果记录量很大,调用次函数会很耗时)。

解决方案 »

  1.   

    CDBVariant varValue;
    rs.GetFieldValue(0, varValue);  
    i=varValue.m_iVal;
      

  2.   

    strSQL = "Select Count(*) as Num from ShoppingDic";
    bstrSQL = strSQL.AllocSysString();
    m_pRecordset->Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
    TheValue = m_pRecordset->GetCollect("Num");
    if(TheValue.vt!=VT_NULL)
    {
    FileHeader.ShoppingDic_Num = TheValue.lVal; 
    }
    m_pRecordset->Close();
      

  3.   

    我的数据库是Oracle8i,通过ODBC连接。楼上两位老兄的方法没有试通,不知是何原因?