使用ado连接数据库
如表ss如下:
num name
1 abc
2 abc
1 abc
3 a
1 a
如果希望得到name="abc"的记录数程序如下: CString sql;
sql="select Count(num) from grade where teamname='"+CTeamName::m_teamname1+"'";
_bstr_t bstrQuery1(sql);
_variant_t vRecsAffected1;
m_pRecordset3=m_pConnection3->Execute(bstrQuery1,&vRecsAffected1,adCmdText);那么应该怎么读出记录数3,而且读出的应该是什么类型?如何写程序?

解决方案 »

  1.   

    使用ado连接数据库 
    如表ss如下: 
    num name 
    1 abc 
    2 abc 
    1 abc 
    3 a 
    1 a 
    如果希望得到name="abc"的记录数程序如下: CString sql; 
    sql="select Count(*) from ss where name='abc'"; 
    _bstr_t bstrQuery1(sql); 
    _variant_t vRecsAffected1; 
    m_pRecordset3=m_pConnection3->Execute(bstrQuery1,&vRecsAffected1,adCmdText); 那么应该怎么读出记录数3,而且读出的应该是什么类型?如何写程序?
      

  2.   

    m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText); 
    _variant_t vIndex = (long)0; 
    _variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量 
      

  3.   


    //或者
    CString sql; 
    sql = "select Count(num) AS AA from grade where teamname='"+CTeamName::m_teamname1+"'"; 
    _bstr_t bstrQuery1(sql); 
    _variant_t vRecsAffected1; 
    m_pRecordset3=m_pConnection3->Execute(bstrQuery1,&vRecsAffected1,adCmdText); 
    _variant_t vnum = m_pRecordset3->GetCollect("AA");
    int num = vnum.intVal;  //num记录数