qt 连接 mysql

前期准备

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

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

1.编译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/ -llibmysql
INCLUDEPATH += D:/software/mysql-5.7.25-winx64/include
DEPENDPATH += 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值