try
{//打开数据库
m_pRecordset->Open("SELECT * FROM usertalbe",                // 查询 表中所有字段
theApp.m_pConnection.GetInterfacePtr(),  // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)//捕获打开数据库可能发生的异常情况并实时显示提示
{
AfxMessageBox(e->ErrorMessage());
}
我是
在连接数据库的时候是成功的,usertable表是在sqlserver2000下手动建立的,通过调试,发现程序运行到代开表usertable时出现了错误,HotelManage.exe 中的 0x7c812afb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012e714 处的 _com_error。
我是在vs2008下通过ADO连接数据库的,请大家帮忙看看,为什么数据库是连接成功的,而不能打开表格呀,谢谢!

解决方案 »

  1.   

    catch(_com_error e)//捕获打开数据库可能发生的异常情况并实时显示提示
    {
    AfxMessageBox(e.Description())
    }把*e改成e试试可以吗
      

  2.   

    连接数据库之前是否有   m_pConnection.CreateInstance(__uuidof(Connection));
      

  3.   

    catch(_com_error e)//捕获打开数据库可能发生的异常情况并实时显示提示
    {
    AfxMessageBox(e.Description())
    }修改后,出现"IDispatch error #3127"错误(弹出对话框).从网上查3127代表的是“没有找到目标表”,但是usertalbe这个表是我手动在sqlserver下建立的,而且数据库也连接成功了,怎么找不到usertalbe表呐?
      

  4.   

    连接数据库之前是有 m_pConnection.CreateInstance(__uuidof(Connection));
    数据库连接是成功的,在open表usertalbe时出现问题
      

  5.   


    这个错误好像不是usertable不存在
      

  6.   

    改一下IDispatch的获取方式,具体记不清了,参考一下别人的代码