Qt5.2 连接 MySQL问题

Qt5.2 连接 MySQL问题,第1张

连接Mysql数据库需要添加数据库的类型是QMYSQL,不是QSQLITE,QSQLITE对应的数据库管理系统是SQLite。

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL")

这样的话,你调用下lastError,看一下为什么。

官方文档对QSqlDatabase open方法的说明原话:

Opens the database connection using the current connection values. Returns true on successotherwise returns false. Error information can be retrieved using lastError().

方法/步骤

1

下载mysql C链接库

选择C的链接库

2

将C的连接库解压到到C:/mysql 目录下

3

我的QT 安装在C盘目录下,版本号是4.8.6 所以打开目录

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

4

将C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib

复制到此处。

5

编辑目录下的mysql.pro文件

添加

INCLUDEPATH+="C:/mysql/include"

LIBS+="C:/mysql/lib/opt/libmysql.lib"

运行qt的控制台窗口,方便使用qmake

切换到目录下

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

执行qmake

运行VS2010的控制台工具

切换到

C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下

执行nmake 和nmake release

是nmake不是make

这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生

qsqlmysqld4.dll qsqlmysqld4.lib

qsqlmysql4.dll qsqlmysql4.lib

将上面提到的四个文件复制到

C:\QT\4.8.6\plugins\sqldrivers

最后把

C:\mysql\lib\opt\libmysql.dll

C:\mysql\lib\opt\libmysql.lib

复制到

C:\Windows\system32\ 目录下。

最后测试mysql 可不可以在qt中正常使用

新建一个qt 控制台项目

输入以下代码

#include <QCoreApplication>

#include <QDebug>

#include <qstring.h>

#include <qstringlist.h>

#include <qsql.h>

#include <qsqldatabase.h>int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv)

qDebug() <<"Available drivers:"

QStringList drivers = QSqlDatabase::drivers()qDebug() <<driversreturn a.exec()

}

运行测试一下,看看有没有图片中红圈圈中的两项内容

1. 程序有要求的QT版本吗? 机上的QT符合版本要求?

2. 即然为Plugin, 是否已安装, 编译前在代码中作相应的定义如Q_IMPORT_PLUGIN(qsqlmysql)


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

原文地址: https://outofmemory.cn/zaji/7597857.html

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

发表评论

登录后才能评论

评论列表(0条)

保存