有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

qt连接mysql(Qt 连接MySql数据库)

MySQL 炮渣日记 3周前 (11-20) 27次浏览 已收录 0个评论 扫描二维码

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

前期准备

下载mysql 数据库 qt5.13.1使用的是mysql-5.7.25,其他版本没有测试

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

编译mysql驱动

进入Qt源目录

D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

编辑mysql.pro 工程文件

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

LIBS += -LD:/software/mysql-5.7.25-winx64/lib/ -llibmysqlINCLUDEPATH += D:/software/mysql-5.7.25-winx64/includeDEPENDPATH += D:/software/mysql-5.7.25-winx64/include

修改qsqldriverbase.pri文件

返回上一层目录

D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers

修改 include($$shadowed($$PWD)/qtsqldrivers-config.pri)

改为 include($$shadowed($$PWD)/configure.pri)

设置mingw环境变量

增加 D:\Qt\Qt5.13.1\5.13.1\mingw73_64\bin

和D:\Qt\Qt5.13.1\Tools\mingw730_64\bin到环境变量

制作Makefile文件

进入D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

依次执行

qmake 
mingw32-make  
mingw32-make install

校验结果

D:\Qt\Qt5.13.1\5.13.1\mingw73_64\plugins\sqldrivers目录下,会生成qsqlmysql.dll,qsqlmysqld.dll 两个动态链接库

拷贝驱动

在数据库\mysql-5.7.25-winx64\lib目录下拷贝libmysql.dll到mingw的bin目录

D:\Qt\Qt5.13.1\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");
喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址