我用的是ADO控制数据库,请问这两句代码是什么意思?
BSTR bsSql=strSql.AllocSysString();m_pRs->Open((CComVariant)bsSql,m_pCon.GetInterface(),adOpenDynamic,adLockOptimistic,adCmdText);
为什么在编译的时候会报这样的错误?D:\mobil\mobilDlg.cpp(235) : error C2065: 'CComVariant' : undeclared identifier
D:\mobil\mobilDlg.cpp(235) : error C2146: syntax error : missing ')' before identifier 'bsSql'
D:\mobil\mobilDlg.cpp(235) : error C2059: syntax error : ')'
Error executing cl.exe.mobil.exe - 3 error(s), 0 warning(s)

解决方案 »

  1.   

    你的strSql是什么类型的啊
    是不是CString型的。。如果是的话可以把
    BSTR bsSql=strSql.AllocSysString();m_pRs->Open((CComVariant)bsSql,m_pCon.GetInterface(),adOpenDynamic,adLockOptimistic,adCmdText);改成
    _bstr_t bsSql=strSql;m_pRs->Open(bsSql,m_pCon.GetInterface(),adOpenDynamic,adLockOptimistic,adCmdText);
    试试
    意思就是构建一个SQL语句并打开一个记录集。。
      

  2.   

    CComVariant找不到是因为头文件的问题同phiger(phiger) 说的。。
      

  3.   

    谢谢各位大虾,是phiger(phiger)说的那样