我使用CDao写数据库程序,在本机上运行或在装有VS6.0的 机子上运行没有问题,但是到了其他机子上或没有装Vs6.0的机子上就不能运行。数据库初始化,就出现无法初始化Jet数据库引擎,或者RunTime Error,这到底是什么原因,我后来装了Vs.net的Jet引擎,也不能解决问题。这是一个SDI的应用程序。
BOOL DB::Initial(LPCTSTR DBFileName)
{
pDatabase =new CDaoDatabase;
try
{
pDatabase->Open(DBFileName);
pRecordset=new CDaoRecordset(pDatabase); }
catch(CDaoException *e)
{
e->ReportError();
delete pDatabase;
pDatabase=NULL;
pRecordset=NULL;
e->Delete();
return FALSE;
}
return (TRUE);
}
BOOL DB::Initial(LPCTSTR DBFileName)
{
pDatabase =new CDaoDatabase;
try
{
pDatabase->Open(DBFileName);
pRecordset=new CDaoRecordset(pDatabase); }
catch(CDaoException *e)
{
e->ReportError();
delete pDatabase;
pDatabase=NULL;
pRecordset=NULL;
e->Delete();
return FALSE;
}
return (TRUE);
}
另外
不是CDao吧,是CDaoDatabase吧如果是InstallShield打包就可能好办些
AFX_MANAGE_STATE(AfxGetModuleState()); //如果使用Access97,可以去掉此两行
AfxGetModuleState()->m_dwVersion=0x0601; //访问Access2000
AfxDaoInit();
pDatabase =new CDaoDatabase;
try
{
pDatabase->Open(DBFileName,FALSE,TRUE);
pRecordset=new CDaoRecordset(pDatabase);
}
catch(CDaoException *e)
{
e->ReportError();
delete pDatabase;
pDatabase=NULL;
pRecordset=NULL;
e->Delete();
return FALSE;
}
问题已经解决,谢谢