本帖最后由 zzxap 于 2011-04-09 18:23:43 编辑

解决方案 »

  1.   

    this->m_pConnection->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
    error C2660: 'Open' : function does not take 5 parameters
      

  2.   

    this->m_m_pRecordset->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
      

  3.   

    http://topic.csdn.net/u/20100907/23/ecf4483a-9809-4499-85e4-b360b088f4a1.html
    http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html
      

  4.   

    使用ado 至少要把ado体系大致弄清楚,就像用ado.net应该知道connection command dateadpater 等等
    建议看看这个http://www.docin.com/p-70049370.html
      

  5.   

    this->m_pRecordset->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
      

  6.   

    注意两个智能指针都有OPEN函数。
    m_pConnection 连接的智能指针open函数是连接数据库用。
    m_pRecordset 记录集 OPEN函数是取记录用。
    所以函数接口都不一样的。
    你要取记录集,所以要用m_pRecordset的open函数。它是5个参数组成。
    所以可以这么写
    this->m_pRecordset->Open(_variant_t(LPCTSTR(str)), _variant_t((IDispatch*)this->m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);