void CAdoaccessDlg::OnOK() 
{
// TODO: Add extra validation here
CoInitialize(NULL);    //初始化COM组件
_ConnectionPtr pConn(__uuidof(Connection));    //实例化一个connection对象pConn
_RecordsetPtr pRst(__uuidof(Recordset));    //实例化一个Recordset对象pRst
_CommandPtr pCmd(__uuidof(Command));    //实例化一个Command对象pCmdpConn->ConnectionString="Provider=MIcrosoft.Jet.OLEDB.4.0;Data source=用户与密码.mdb";
//通过pConn对象连接字符串,连接到ACCESS数据库,这里ACCESS数据库在C根目录下pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
pCmd->CommandText="SELECT * FROM 用户登录";    //通过pCmd对象访问数据库
pRst=pCmd->Execute(NULL,NULL,adCmdText);
while(!pRst->rsEOF)
{
    ((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("user"));
    //把数据库中学号这列的内容放入IDC_LIST1的LIST控件中
    pRst->MoveNext();    //下移一个
}pRst->Close();    //关闭对象
pConn->Close();
pCmd.Release();    //释放对象
pRst.Release();
pConn.Release();
CoUninitialize();    //卸载COM组件*/
CDialog::OnOK();
}
调试运行可以,但是点击确定按钮时就出现
runtime error....
This app.....
please ......
无法读取到数据呀!

解决方案 »

  1.   

    加异常捕获看是什么错误
    try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    AfxMessageBox(e.Description());
    }
      

  2.   

    try catch捕获异常,估计连接数据库,访问数据库有问题
      

  3.   

    可能是你的ADO代码出错了,你跟踪一下看看
    尤其是如下代码处:
    CoInitialize(NULL); //初始化COM组件
    _ConnectionPtr pConn(__uuidof(Connection)); //实例化一个connection对象pConn
    _RecordsetPtr pRst(__uuidof(Recordset)); //实例化一个Recordset对象pRst
    _CommandPtr pCmd(__uuidof(Command)); //实例化一个Command对象pCmdpConn->ConnectionString="Provider=MIcrosoft.Jet.OLEDB.4.0;Data source=用户与密码.mdb";
    //通过pConn对象连接字符串,连接到ACCESS数据库,这里ACCESS数据库在C根目录下pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
    pCmd->CommandText="SELECT * FROM 用户登录"; //通过pCmd对象访问数据库
    pRst=pCmd->Execute(NULL,NULL,adCmdText);