qt中如果没有配置而直接使用mysql连接数据库,大概率会出现以下情况

QMYSQL driver not loaded

解决步骤:
1.确定qt版本、位数和Mysql位数以及qt安装时是否有源码
在这里插入图片描述
在这里插入图片描述
Mysql位数可以看它在那个文件夹,如果在 Program Files (x86) 里,就是32位,
如果在 Program Files 就是64位
如果没有qt源码或者位数不对,可以用qt目录下的 MaintenanceTool.exe 自行更改
在这里插入图片描述
2.找到qt源码中的sql驱动
目录大概是:C:\Qt\5.15.2(qt版本号)\Src\qtbase\src\plugins\sqldrivers

在这里插入图片描述
找到mysql文件夹 用qt打开
在这里插入图片描述
编辑mysql.pro
在这里插入图片描述
更改地方如图所示

TARGET = qsqlmysql

INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.5\include"
LIBS += "C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\libmysql.lib"

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

DESTDIR = ../mysql/lib/

按照诸位的悟性,根据自己的mysql版本和位置自行配置

配置完之后 编译运行 发现多了一个lib文件夹
打开它 复制以下2个文件
在这里插入图片描述
复制到
C:\Qt\5.15.2\mingw81_32\plugins\sqldrivers
(根据自己的qt版本号、编译器的版本号自行修改)
在这里插入图片描述
3.找到mysql提供的lib
就是这个

LIBS += "C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\libmysql.lib"

地址就是字符串
到 C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\libmysql.lib
复制
在这里插入图片描述
到 C:\Qt\5.15.2\mingw81_32\bin

接着 重启qt
配置完成