qt的mysql数据库链接

Qt安装MYSQL驱动
1 Qt配置MySQL驱动
在使用Qt连接数据库前需要确定当前Qt支持的数据库驱动模块有哪些。

1.1 Qt数据库驱动
Qt SQL模块是Qt提供的一个访问数据库的接口,支持多种平台下使用不同类型的数据库,在这个过程中,数据库驱动负责与不同的数据库进行通信。

1.1.1 Qt支持的数据库驱动
QDB2、QIBASE、QMYSQL、QOCI、QODBC、QPSQL、QSQLITE2、QSQLITE、QTDS

1.1.2 如何查看当前版本Qt所支持的数据库驱动
新建项目,在.pro文件中添加 QT += sql
在.cpp文件中,添加如下代码
qDebug() << QSqlDatabase::drivers();
1
运行程序,在 应用程序输出栏 中观察结果
2 安装MYSQL驱动 – MinGW编译器
2.1 下载MYSQL
https://dev.mysql.com/downloads/mysql/

将MySQL的环境C:\Program Files\MySQL\MySQL Server 8.1\bin添加到环境变量中。

2.2 拷贝libmysql.dll和libmysql.lib文件
1)打开MySQL的安装目录下的lib文件夹,如:C:\Program Files\MySQL\MySQL Server 8.1\lib;
2)将该文件夹下的libmysql.dll和libmysql.lib文件拷贝到Qt的MinGW编译器的bin文件夹下,如:F:\QT\5.12.6\mingw73_64\bin

2.3 编译qsqlmysql.dll文件

1.先看看自己的Qt目录下有没有连接插件qsqlmysql.dll,文件夹位置: E:\Qt\Qt5.13.2\5.13.2\msvc2015_64\plugins\sqldrivers

在这里插入图片描述
2. 在没有连接插件qmysql.dll的情况下进入第二步,通过Qt里的src源码中的mysql源码来编译出qmysql.dll文件。先找到Qt目录源码里的mysql的源码,因为我在安装Qt是没有选择安装src源码,所以我重新从官网上下载了qt-everywhere-src-5.13.2.zip,内里是Qt源码文件。我的路径是:E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plugins\sqldrivers\mysql。

在这里插入图片描述

双击打开mysql.pro,进入Qt creator编译器界面,添加下面的三行代码:

INCLUDEPATH +=E:/DateBase/Mysql/mysql-5.7.29-winx64/include/    # 添加你自己的mysql安装目录下的include文件夹
LIBS += E:/DateBase/Mysql/mysql-5.7.29-winx64/lib/libmysql.lib # 添加你的mysql安装目录下的lib文件夹下的libmysql.lib文件
DESTDIR = …/mysql/mysqlDll    # 设置编译好的qmysql.dll放置的目录,不然你可能不知道会生成在哪。

在这里插入图片描述
然后进行构建,就是界面左下角的锤子,这时会出现如下的两个错误:
Cannot read H:/qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library ‘mysql’ is not defined.

第一个问题中没有这样的文件,但是可以在目录E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plugins\sqldrivers下找到configure.pri这个文件,那么我们就把原来需要qtsqldrivers-config.pri的地方注释掉,改成configure.pri。
  打开qsqldriverbase.pri文件,将第四行注释掉,即#include($ s h a d o w e d ( shadowed( shadowed( $PWD)/qtsqldrivers-config.pri),然后添加include(./configure.pri),保存,完成。

在这里插入图片描述在这里插入图片描述
Library ‘mysql’ is not defined,这个问题好解决,在qt左侧栏中双击打开mysql.pro,将第六行注释掉,这样:#QMAKE_USE += mysql。这个办法需要格外感谢看过的一个大佬的教程,太秀了。
在这里插入图片描述
接下来重新构建,没有报错。再次找到之前指定的编译好的dll放置的路径,E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plu gins\sqldrivers\mysql\mysqlDll,果然生成了qsqlmysql.dll和qsqlmysqld.dll,这两个就是qt连接mysql数据库的桥梁了。
在这里插入图片描述
最后,只需将这两个生成的dll,复制到qt文件夹下:E:\Qt\Qt5.13.2\5.13.2\msvc2015_64\plugins\sqldrivers。
在这里插入图片描述
并且也要将自己的mysql安装目录下的lib文件夹下的libmysql.dll,复制到qt的编译器的bin目录下,这样Qt就可以连接Mysql了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾忆少年时~峥嵘岁月稠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值