qt链接mysql文件失败_【成功经验】QT读取access 2010的.accdb文件总是失败

在QT中尝试使用ODBC驱动连接Access数据库时遇到QODBC驱动未加载的问题。解决方案包括:1)卸载并重新安装包含ODBC驱动的QT版本;2)将驱动文件复制到目标程序目录下的sqldrivers文件夹;3)注意不同QT版本间的UI文件可能不兼容,需要适配或重新创建。
摘要由CSDN通过智能技术生成

QT读取access失败,在输出窗口里面写着:QSqlDatabase: QODBC driver not

loaded,到安装路径的plugins\Sqldriver里面没有QODB相关文件。正好有个人跟我遇到一样的情况,描述如下:

在QT中用ODBC驱动连接ACCESS数据库时,总是会提示driver not loaded!

经代码测试未发现QODBC的驱动。

源程序如下,调试环境WINDOWSXP + Qt 4.7.3 for desktop - MinGw 4.4 :

QSqlDatabase db =

QSqlDatabase::addDatabase("QODBC");

qDebug() <<

db.lastError();

QString dsn = QString("DRIVER={Microsoft Access

Driver (*.mdb)};FIL={MS Access};DBQ=DB.mdb");

db.setDatabaseName(dsn);

if(!db.open()) { //此处每次都会打开失败

QMessageBox::critical(0, QObject::tr("Database

Error"),db.lastError().text());

return false;

}

else

{

QMessageBox::information(0,"hello world","Open

Database success!",QMessageBox::Ok);

}

上面也写了解决方法:

还是写出解决办法,供以后跟我一样的菜鸟们参考:

1、安装QT Libraries 4.7.3 for windows(到NOKIA

QT官网去下载qt-win-opensource-4.7.3-mingw.exe)

2、安装完成后,在目录C:\Qt\4.7.3\plugins\sqldrivers下找到ODBC的4个驱动文件;

3、在个人QT工程的目标程序目录下建立文件夹sqldrivers,并将这4个驱动文件放进去。(本人所存放路径D:\DEMO\demo-build-desktop\debug\sqldrivers\,供大家参考,注意:文件夹名字一定要是sqldrivers)

参考这个方法,我进行如下操作:

1.卸载之前的QT版本,如果不想卸载,注意先将VS2008里德QT项中QT

Option中旧版本version删掉;

2.安装qt-win-opensource-4.8.0-vs2008.exe,该版本含有与ODBC相关的qsqlodbc4.dll、qsqlodbc4.lib、qsqlodbcd4.lib、qsqlodbcd4.dll这四个驱动。

3.注意,不同版本的QT的.ui文件不一定相同。我之前版本是4.4.3,改到4.8.0版本相差有点远,不要直接加载旧的.ui文件,最好是建立新的.ui文件,再把过去的控件粘贴过去(注意修改控件名称),或者改变代码。

OK!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值