qt连接mysql问题

qt连接mysql问题,第1张

首先:进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下 (我的目录为:S:\QT\4.8.0\src\plugins\sqldrivers\mysql),这个下面有两个文件mysql.pro,一个mian.cpp! 用文本编辑器打开该目录下的mysql.pro文件 在mysql.pro中加入:

INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"

保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)

打开Qt 4.8.0 Command Prompt, 编译这个文件

#qmake -o Makefile mysql.pro

提示3条警告信息,但没影响

#mingw32-make (这个网上有好几个编译命令,我的是用nmake)

然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers下)下多了四个文件

分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功,可以使用 mysql 了!~

最后安全起见再将 mysql下 bin 文件中libmysql.dll文件拷贝到 system32 下面 然后测试:

#include<QtGui>#include<QtSql>#include<cstdlib>

#include<QtGui/QApplication>#include<QtSql/QtSql>boolcreateConnection() {

qDebug()<<"Availabledrivers:"

QStringListdrivers=QSqlDatabase::drivers()foreach(QStringdriver,drivers) qDebug()<<"\t"<<driver

QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL")qDebug()<<"MYSQLdrivervalid?"<<db.isValid()}

intmain(intargc,char*argv[]) {

至于mysql.pro我是在网上下载的

你好很高兴为你解答答案是:这是别人总结的攻略,你试试:问题解决:出现 drive not loaded 的原因有如下几个1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.3.你的程序写错了.4."driver not loaded" 是由query.lastError().text()抛出的错误.5.gcc版本不一样(本机和目标机).既然知道原因了,解决起来也就非常轻松了.1.重新安装qt,重新安装mysql驱动2和3的解决方法我就没有什么好说的了.4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.5.同步gcc版本咯..满意请采纳,谢谢!

你必须把安装好的mysql的 C:\Program Files\MySQL\MySQL Server 5.6\lib 下的 libmysql.dll 和 libmysql.lib 拷贝进 qt的G:\Qt\Qt5.3.1\5.3\mingw482_32\bin下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7179336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存