我是靠谱客的博主 迅速跳跳糖,这篇文章主要介绍QT5.13连接MySQL即打包过程,现在分享给大家,希望可以做个参考。

环境:

复制代码
1
Win10+QT5.13+MySQL5.5
  • QT5.13生成MYSQL数据库驱动

因QT5.13无mysql数据驱动,因而需要先生成所需要的MYSQl驱动

1、打开QT自带的mysql源码工程,C:QtQt5.13.05.13.0Srcqtbasesrcpluginssqldriversmysqlmysql.pro(安装目录根据实际调整)

打开工程后调整mysql.pro文件,增加如下内容

复制代码
1
2
3
4
5
6
7
//该路径是mysql的头文件路径 INCLUDEPATH +="C:/Program Files/MySQL/MySQL Server 5.5/include" //这是MySQL的库文件路径 LIBS +="C:/Program Files/MySQL/MySQL Server 5.5/lib/libmysql.lib" //为了方便查找,不妨增加一条语句,该语句用来指明编译后的结果输出的位置 DESTDIR = ../mysql/lib/

然后注释掉mysql.pro文件中的  QMAKE_USE += mysql(我的环境不注释会报错)

复制代码
1
#QMAKE_USE += mysql

编译此工程,然后会在mysql.pro的同级目录的lib下生成驱动文件

将上面的四个文件拷贝到QT的数据库驱动文件夹里面C:QtQt5.13.05.13.0mingw73_64pluginssqldrivers

至此,QT5.13安装myql驱动完成。可以编写如下测试程序

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
bool SqlBase::testMySql(QString ip, QString username, QString password, int port, QString dbName) { bool connect=false; qDebug() << "可用的驱动: "; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver,drivers) { qDebug() << driver; } //载入Mysql驱动,打开本地数据库 QSqlDatabase db2=QSqlDatabase::addDatabase("QMYSQL"); db2.setHostName(ip);//如果连接远程数据库,就把IP换成对方的,并且远程防火墙是关闭的 db2.setPort(port); db2.setUserName(username);//这个用户是默认的,如何打开这个用户,自己百度 db2.setPassword(password);//这个是我的口令 db2.setDatabaseName(dbName); if(!db2.open()){ qDebug()<<"The mysql database connect faile!"; }else{ QSqlQuery query(db2); query.exec("select * from test"); while(query.next()){ qDebug()<<query.value("name").toString(); } qDebug()<<"The mysql database connect success !"; db2.close(); connect=true; } return connect; }
  • 打包连接mysql数据库的QT工程

   首先用release模式对需要打包的QT工程进行编译执行

然后找到release的编译后的目录,找到.exe文件,将其拷贝到一个新的文件夹下,我是直接在E盘下建立了qtTest文件夹;

 

在windows的程序栏中打开Qt15.3(MinGw 7.3.0 64-bit) 进入到qtTest目录下,然后执行windeployqt test.exe,这样,QT会将所执行文件所依赖的库自动复制到此目录下

至此,双击text.exe文件即可直接运行。

不过发现一个问题,之前生成的mysql的几个驱动文件并没有拷贝过来,所以需要手动将前面生成的mysql的四个驱动文件拷贝到text.exe的同级目录下(按理说应该是放到sqldriver目录下的,可是发现放到这个目录下依然连不上mysql数据库,于是放到test.exe的同级目录下),若不行,可以试着放在qtTestsqldriver目录下试试,根据自己的实际情况调整,我是放在同级目录下可以的。

此外,若用的配置文件配置数据库连接信息,则将配试文件例如:config.ini文件放在test.exe同级目录即可。

最后

以上就是迅速跳跳糖最近收集整理的关于QT5.13连接MySQL即打包过程的全部内容,更多相关QT5内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(100)

评论列表共有 0 条评论

立即
投稿
返回
顶部