QT默认是不含Mysql驱动的,所以我们需要手工编译Mysql动态链接库,以Win平台举例。


前期准备

下载mysql 数据库 q使用的是my,其他版本没有测试

下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/my-winx64.zip

编译mysql驱动

进入Qt源目录

D:\Qt\Q\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

编辑my 工程文件

  1. 去掉 //QMAKE_USE += mysql
  2. 增加代码

LIBS += -LD:/software/my-winx64/lib/ -llibmysqlincludePATH += D:/software/my-winx64/includeDEPENDPATH += D:/software/my-winx64/include


修改q文件

返回上一层目录

D:\Qt\Q\5.13.1\Src\qtbase\src\plugins\sqldrivers

修改 include($$shadowed($$PWD)

改为 include($$shadowed($$PWD)


设置mingw环境变量

增加 D:\Qt\Q\5.13.1\mingw73_64\bin

和D:\Qt\Q\Tools\mingw730_64\bin到环境变量


制作Makefile文件

进入D:\Qt\Q\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

依次执行

qmake  mingw32-make   mingw32-make install

校验结果

D:\Qt\Q\5.13.1\mingw73_64\plugins\sqldrivers目录下,会生成q,q 两个动态链接库


拷贝驱动

在数据库\my-winx64\lib目录下拷贝libmy到mingw的bin目录

D:\Qt\Q\5.13.1\mingw73_64\bin


项目引入驱动

在工程.pro文件里,添加sql

QT += core gui sql

编写测试代码

//一定要注意 如果出现QSqlDatabase: QMYSQL driver not loaded,清理下,重构 还不行的话切换下QMYSQL,QMYSQL3

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

db.setHostName("IP");

db.setPort(3306);

db.setDatabaseName("test");


1.《如何使用Qt操作mysql》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何使用Qt操作mysql》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3224196.html