首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

采用ADO方式连接ACCESS数据库时,win7运行正常,XP和Windows2008运行异常

2013-01-19 
采用ADO方式连接ACCESS数据库时,win7运行正常,XP和Windows2008运行错误采用ADO方式连接ACCESS数据库时,相

采用ADO方式连接ACCESS数据库时,win7运行正常,XP和Windows2008运行错误
采用ADO方式连接ACCESS数据库时,相同的应用程序在win7下面运行没有问题,但是在xp下创建connection的实例就失败,而在Windows20008版本下,执行open时失败,您看这主要是什么原因。
 我在win7下采用VS2008编写的程序,其它机器上都没有安装VS2008.
代码:

hr = m_pConnection.CreateInstance("ADODB.Connection");//XP下运行错误,win7和win2008运行正确
    if(SUCCEEDED(hr)){
        MessageBox(L"ACEESS create succeed",L"DEMO",MB_OK);
//设置连接字符串   
//CString strConnect=L"DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=biodata.mdb;";
CString strConnect=L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biodata.mdb;";
//使用Open方法连接数据库   
try{
hr = m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);//win2008错误
if(SUCCEEDED(hr)){
   MessageBox(L"ACEESS connection succeed",L"DEMO",MB_OK);
}else{
  MessageBox(L"ACEESS ACEESS connection failed",L"DEMO",MB_OK);
return -1;
}
}catch(_com_error e){
CString errormessage;
errormessage.Format(L"连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息 
 MessageBox(L"ACEESS ACEESS connection failed2",L"DEMO",MB_OK);
return -1;
}
}else{
    MessageBox(L"ACEESS create failed",L"DEMO",MB_OK);
    return -1;
} access xp Windows7 Windows2008 ADO
[解决办法]
WIN7下编译的????WIN7的ado15.dll与其他系统不兼容!!!拷贝个XP的ado15.dll到WIN7下在编译,或者直接把工程移到XP下重新编译一次;我也遇到过这个问题
[解决办法]
注意64位和32位操作系统下配置ADO连接的不同。

热点排行