在网上找了很多c++通过ADO访问数据库的源码都是些vc 6.0的,用vs 2005编译一下到处都是错误。 
谢谢

解决方案 »

  1.   

    这还需要现成的源码? 看看别人的,自己写就OK了。理解最重要,
    1.导入
    #import "c:\program files\common files\system\ado\msado15.dll" \
       no_namespace \
       rename("EOF","adoEOF")
    2.再在适当的地方添加初始化函数:AfxOleInit()此函数在MFC 中使用,
    在非MFC中使用另外两个函数:
    CoInitialize(NULL);
    CoUnInitialize();3.使用ADO有三个智能指针:_ConnectionPtr,_CommandPtr,_RecordsetPtr。
     m_pConnection.CreateInstance(_uuidof(Connection));
     try
     {     
    m_pConnection->Open("
    Provider=Microsoft.Jet.OLEDB.4.0;
    Data Source=ado.mdb","","",adModeUnknown);
     }
     catch(_com_error e)
     {
         AfxMessageBox("no");
     }
      

  2.   

    http://www.9-superchina.com/mfc_ado_sqlserver.rar  
    我这里给你写了个简单的,里面都做了说明,下完告诉我,我删除掉
      

  3.   


    saylerboxer 你好,
    下完了,谢谢,马上给分
      

  4.   

    saylerboxer 你好,我在sql server 2005上建了一个表 user列        类型             说明
    ID        int            id
    xinming   nvarchar(50)   姓名
    jiguan    nvarchar(50)   籍贯
    birthday  datetime       生日
      
    然后调试你的代码的时候在打开连接的地方出错
    m_pConnection.CreateInstance(__uuidof(Connection));//CreateInstance("ADODB.Connection");
    m_pConnection->ConnectionString = _T("Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=testdb;Data Source=192.168.1.71");
    m_pConnection->Open("","","",NULL);//出错的地方,报错提示为乱码
      

  5.   

    上面的问题我已经解决了, 但是又出现另外一个问题 运行到这里时:m_listData.InsertItem(nSum,(LPCTSTR)(_bstr_t)m_pRs->GetCollect((_bstr_t)_T("code")));
    出现错误:在对应所需名称或序数的集合中,未找到项目