前两天看见一位仁兄在问,如今俺也碰到这个问题,是怎么回事呢?
   还有,怎么调用数据连接对话框出来啊???(配置连接串的那个微软的对话框)

解决方案 »

  1.   

    把你的智能指针初始化为NULL试试看.
      

  2.   

    另外在你创建实例的时候如果创建失败要把它重指为NULL.
      

  3.   

    ::ConInitialize(NULL)这就是我的初始化啊。
    另:你的意思是把_RecordsetPtr _ConnectionPtr初始化为空吗?
    我的初始化方法是
    rst.CreateInstacne("ADODB.RECORDSET");这样有错吗?
      

  4.   

    1.你引入msado15.dll文件了吗?
    #import "d:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
    2.采用AfxOleInit()初始化COM环境看看。3.应该养成指针初始化为NULL的习惯。智能指针尤其如此。 _RecordsetPtr m_Recordset=NULL;
    try
    {
    m_Recordset.CreateInstance("ADODB.Recordset");
              }
      catch(_com_error& e)
    {
    AfxMessageBox( (TCHAR*) e.Description() );
    }
      

  5.   

    注意:::CoUninitialize()释放COM资源前,需要:
    m_pRecordset->Close(); 注意!!!不要多次闭!!!!!!!!!!!!
    m_pConnection->Close();
    m_pRecordset = NULL;
    m_pConnection = NULL; 
    此处m_pRecordset和 m_pConnection为你的类成员或全局成员。
      

  6.   

    是不是有智能指针没关闭就会报错?
    如果我不::ConInitialize(NULL)的结果会怎么样?