extern CADOApp theApp;//这里对全局对象的引用是否正确
void CADODlg::OnBtnInfo() 
{

try
{
m_pRec->Open("select * from Info",\
theApp.m_pConn.GetInterfacePtr(),\
adOpenDynamic,\
adLockOptimistic,\
adCmdText);
}
catch(_com_error e)
{
AfxMessageBox("建立数据记录集失败");
}
}
为什么运行错误,跟踪在open函数出错
请教高手!

解决方案 »

  1.   

    theApp.m_pConn.GetInterfacePtr()改为:
    _variant_t((IDispatch*)theApp.m_pConn
      

  2.   

    _variant_t((IDispatch*)theApp.m_pConn,TRUE)
      

  3.   

    在执行sql语句之前有没有做数据库连接?是不是没有数据库连接就直接去open一个记录集去了?
      

  4.   


    theApp.m_pConn有正确连接数据库吗?
    不行就看看是什么错误呢

    catch(_com_error e) 

       AfxMessageBox("建立数据记录集失败"); 

    改成
    catch(_com_error e)
    {
       AfxMessageBox(e.ErrorMessage());
    }
      

  5.   

    你这个程序在open之前根本没创建连接数据库
    在打开之前先做个连接判断:
    if(m_pConnection==NULL)//连接为空
         OnInitADOConn();//建立连接,这个接口你应该会写吧;
      

  6.   

    你这个链接是做的全局接口来做的吧,每次使用之前,先theApp.m_pConn.连接接口函数
      

  7.   

    open错误,说明,SQL语句的问题,不是本身错误就是楼上所说没有连接数据库,语句无效