m_pRecordset->Open("SELECT * FROM Table", m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText);
这一句能打开表,也能查询到
下面就出错了. 
m_pRecordset->Open(COleVariant("SELECT * FROM Table WHERE STDCODE = " + bstrStdCode), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
高手帮忙看看怎么回事啊

解决方案 »

  1.   

    STDCODE 是什么类型的。如果是字符窜类型的
    要在两边加''的所以最后你的sql语句要是这样的
    SELECT * FROM Table WHERE STDCODE = 'aa'其中bstrStdCode 的值是aa
    所以你的sql语句写错了,没有'
      

  2.   

    m_pRecordset->Open(_bstr_t("SELECT * FROM Table WHERE STDCODE = '" + bstrStdCode+"'"), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
      

  3.   

    m_pRecordset->Open(_bstr_t("SELECT * FROM [Table] WHERE STDCODE = '" + bstrStdCode+"'"), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
      

  4.   

    WHERE STDCODE = 条件上的字符串要有'号,楼上正解