ADO 连接数据库 抛出异常: 无效指针!!!!! 请问是怎么回事,连接字符串正确,服务器正常启动…… 请问代码那里不恰当?BOOL OnIninitADOConn()
{
//::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
m_pConnection->Open((_bstr_t)strConn,"","",adModeUnknown);
}
catch (_com_error e) {
//AfxMessageBox(e.Description());

//m_pConnection = NULL;
return FALSE;
}
return TRUE;
}

解决方案 »

  1.   

    m_pConnection.CreateInstance("ADODB.Connection");
    这个创建成功了吗
    用返回值看一下另外
    //::CoInitialize(NULL);
    这个需要的,不能注释掉
      

  2.   

    在调用该函数前已经AfxOleInit()了,有个不同的是我是在一个新开的线程里调用的该函数。
      

  3.   

    如何查看m_pConnection.CreateInstance("ADODB.Connection");
    的返回值呢? 请问
      

  4.   

    CreateInstance 返回的是一个HRESULT 
    你可以去msdn查一下还有,线程里面是要加那个com初始化的
      

  5.   

    使用第三控件ADO,或者说使用控件都必须初始化可在整个应用程的初使化函数里调用也可以在调用ADO的接口以前调用AfxOleInit()必须在前
      

  6.   

    我写的也是在新线程里去实现连接的1:在线程里COM初始化,最好用这个::CoInitialize(NULL);2:m_pConnection.CreateInstance("ADODB.Connection");检查其返回值