二十一、Qt操作mysql数据库

发布时间 2023-07-21 16:37:18作者: 稚终KINO

1.使用环境介绍

Qt Creator5.12.7+Mysql5.5.28+Windows10操作系统

2.添加驱动文件

2.1 将mysql安装目录下的libmysql.dll文件复制到qt编译套件的bin目录下

2.2 编译libmysql.dll和libmysql.lib

  找到qt源码src目录下边的qtbase/src/plugins/sqldrivers/mysql,打开mysql.pro文件,在QMAKE_USE += mysql前边加#注释掉此行,然后添加以下代码,mysql的安装路径替换。

1 LIBS += -LD:/apps/MYSQL/lib -llibmysql
2 
3 INCLUDEPATH += D:/apps/MYSQL/include
4 
5 DEPENDPATH += D:/apps/MYSQL/include

6 DESTDIR += D:/apps/MYSQL/include/qtmysqld

2.3 编译pro文件生成qsqlmysql.dll和qsqlmysqld.dll文件

(1)调出命令行,切换到pro文件所在目录下,输入命令qmake -project生成pro文件

(2)打开pro文件添加QT模块,然后输入qmake xxx.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"或者qmake xxx.pro生成Makefile文件

(3)使用mingw32-make -f Makefile.Debug来执行make命令生成调试类的可执行程序

3.发布程序

  使用windeployqt xxx.exe命令将程序发布,将mysql中的libmysql.dll文件复制到可执行程序的同级目录下

4.使用

(1)pro文件中添加sql模块

(2)使用QDatabase类配置数据库

(3)QDatabase类的open函数打开数据库

(4)编写sql语句,使用QSqlQuery类exec函数执行单语句

(5)查询语句使用QSqlQuery类的next函数移动行,value函数获取行内的值,可根据列数或者列名进行获取

(6)批处理操作,使用QSqlQuery类的prepare函数编写sql语句,值使用?替代,然后使用addBindValue函数为?绑定值,绑定完毕值以后可以使用execBatch函数进行批处理操作

(7)批处理操作2,使用QSqlQuery类的prepare函数编写sql语句,sql语句中的值使用“:别名”代替,然后使用bindValue函数为别名绑定值,,绑定完毕值以后便可以使用execBatch函数进行批处理操作