请高手指点!部分代码如下
///COM库初始化
BOOL CMy030516_ADO_TESTApp::InitInstance()
{
    AfxOleInit();
}///引入ADO类型库
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")///
BOOL CMy030516_ADO_TESTApp::InitInstance()
{
  AfxOleInit();
  m_pConnection.CreateInstance(__uuidof(Connection));  try
  {
     m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
     Data Source=fp_test_ado.mdb","","",adModeUnknown);
   }
   catch(_com_error e)
   {
     AfxMessageBox("数据库连接失败");
     return FALSE;
    }
///
BOOL CMy030516_ADO_TESTDlg::OnInitDialog()
{
  try
 {
    m_pRecordset->Open("SELECT * FROM admiFP",                 theApp.m_pConnection.GetInterfacePtr(),
      adOpenDynamic,                  adLockOptimistic,           adCmdText);
 }
 catch(_com_error *e)
 {
    AfxMessageBox(e->ErrorMessage());
 }
}在vc下编译通过,(0)errors(0)warnings但是运行时出现windows提示框
Runtime Error!
program: G:\prog\030516_ADO_TEST\DEBUG\030516_ADO_TEST.EXE
abnormal program termination

解决方案 »

  1.   

    问题所在"SELECT * FROM admiFP",如果你把它变成admiFP,也许你的程序就不再出现运行的错误了
      

  2.   

    恳请大侠指点!我把光标移动到下面语句前面
        m_pRecordset->Open("SELECT * FROM admiFP",                 theApp.m_pConnection.GetInterfacePtr(),
          adOpenDynamic,                  adLockOptimistic,           adCmdText);
    然后执行vc菜单中Debug-start debug-run to curser出现如下内容的提示框:
    Unhandled exception in 030518_ADO_TEST.exe(MSVCRTD.DLL):0xE06D7363:
    Micsoft C++ Exception
      

  3.   

    同意楼上的,或者将你的Access2000的数据库转化为Access97的。
      

  4.   

    简单点儿,别把代码放在InitInstance()里
      

  5.   

    你是否关闭数据库了!如果关闭后对recordSet进行操作就会出现Runtime error!你看看你的关闭!
      

  6.   

    数据集没有创建m_pRecordset.CreateInstance(__uuidof(Recordset));
      

  7.   

    Virtuoso(翪翾) 、 Qinzixiong(花无才):谢谢两位!确实少了这么一句,就出现我说的错误。今天得到很多公司同事,还有烟台同学的帮助!解决了Access97与Access2000的问题。不敢独享,大家共同进步!我程序中
         m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
         Data Source=fp_test_ado.mdb","","",adModeUnknown);如果fp_test_ado.mdb是用Access97做的,那么没有问题。其他语句没有错误的话,运行是成功的
    如果是用Access2000做的,就不行。尽管数据库文件fp_test_ado.mdb放在工作区文件夹下,还是出现Runtime error。解决的办法是注明绝对路径!
         m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
         Data Source=g:\\a\\fp_test_ado.mdb","","",adModeUnknown);
    假设fp_test_ado.mdb文件存在g:]\
      

  8.   

    假设fp_test_ado.mdb文件保存在g:\a文件夹下小弟经公司的大侠谷哥介绍,来到CSDN。得到各位xdjm的帮助,不胜感激。希望大家共同讨论,共同进步。不知道我怎么散分?来答谢热情相助的朋友 恳请指点