1.vs2010中连接数据库,以下是我的程序实现:
//初始化数据库连接
void ADOConn::OnInitDBConnect()
{

CoInitialize(NULL);
try{
  // _ConnectionPtr m_pConnection;
   m_pConnection.CreateInstance("ADODB.Recordset");
   _bstr_t strConnect="Provide=SQLOLEDB;Server=local;Database=student;";
   m_pConnection->Open(strConnect,"","",adModeUnknown);
}catch(_com_error e)
{
AfxMessageBox(e.Description()+"连接数据库失败"); }}不过调试出现异常提示: Microsoft C++ 异常: 内存位置 0x0020e334 处的 _com_error。
这是怎么回事,应该怎么解决,希望高手指点

解决方案 »

  1.   

    你调试一下看看哪句的问题
    还有就是com库初始化了么
      

  2.   

    调试的时候在这句 _bstr_t strConnect="Provide=SQLOLEDB;Server=local;Database=student;";出现问题
    错误提示:
    fingertest.exe 中的 0x75f49673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x002fe22c 处的 _com_error。
    fingertest.exe 中的 0x75f49673 处最可能的异常: Microsoft C++ 异常: 内存位置 0x002fe0cc 处的 _com_error。
    “fingertest.exe”: 已加载“C:\Program Files\Common Files\System\msadc\msdaprst.dll”,Cannot find or open the PDB file
    “fingertest.exe”: 已加载“C:\Program Files\Common Files\System\msadc\msdaprsr.dll”,未使用调试信息生成二进制文件。
      

  3.   


    //初始化数据库连接
    void ADOConn::OnInitDBConnect()
    {

    ::CoInitialize(NULL);
    try{
      // _ConnectionPtr m_pConnection;
    //m_pConnection.CreateInstance("ADODB.Connection");
       m_pConnection.CreateInstance("ADODB.Recordset");
       _bstr_t strConnect="Provide=SQLOLEDB;Server=local;Database=student;uid=sa;pwd=123";
       m_pConnection->Open(strConnect,"","",adModeUnknown);
    }catch(_com_error e)
    {
    //AfxMessageBox(e.Description());
    //AfxMessageBox(e.Error());
    AfxMessageBox(e.ErrorMessage());         //显示错误信息 }
    AfxMessageBox(e.ErrorMessage());窗口显示无效指针,可是这到底是怎么回事呢?刚学习连接数据库
      

  4.   

    你的意思是错误信息是你自己弹出来的
    不是系统弄的?
    也就是你程序没有崩溃?
    你看看m_pConnection创建成功了没有
    然后在找些例子来看看
      

  5.   

    调试的时候看到(*((strConnect).m_Data)).m_str指针为无效指针,可是m_str应该不是我们赋值的,问题是什么呢?
      

  6.   

    bstr_t strConnect="Provide=SQLOLEDB;Server=local;Database=student;";语句的问题,应该改为
    _bstr_t strConnect="Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=db_test;Data Source=127.0.0.1";