用VC连接Acess2000,使用Dao,代码如下:CDaoDatabase mydb;
mydb.Open("e:\\mydb.mdb");我已把数据库转换为ACCESS 97格式,并且包含了AFXDAO.H,可仍然出现异常,这是为什?

解决方案 »

  1.   

    因为VC6.0用DAO不支持ACCESS2000
    你可以看一看下面的文章,其中有解决办法。
    PRB: Unrecognized Database Format Error with Access 2000 Database
    http://support.microsoft.com/support/kb/articles/q236/9/91.asp
      

  2.   

    还有一种办法就是将你的*.mdb转换成早期版本的ACCESS文件。
      

  3.   

    我用以下捕获异常:catch(CDaoException* e)
    {
    LPTSTR error="";
    e->GetErrorMessage(error,100,NULL);
    AfxMessageBox(error);
    e->delete();
    }执行到 e->GetErrorMessage(error,100,NULL)显示非法访问(Access Violation).
      

  4.   

    你传了一个1字节的缓冲区给GetErrorMessage,并且申明它的大小为100??
      

  5.   

    是啊,应该就是error代表的内存区吧,我把它改得大些(如500)好象也不行。是不是要手工链接DAO库。如是该怎样链接?
      

  6.   

    蒋生,各位,对不起.是我被数据库文件名弄昏了,我的文件夹选项中选中了不显示文件扩展名(是自动设置的),而我看到没扩展名,手工加上了“.MDB”,导致出错.我是在其它机上调试才发现此问题的!谢谢各位了!