在使用qt连接mysql数据库时,总是出现QSqlDatabase: QMYSQL driver not loaded的问题。网上有很多解决办法,比较麻烦的方法是重新编译QT中mysql的驱动文件qsalmysql.dll,还有一种简单方法是把libmysql.dll复制到指定的目录(但是很多都没说清楚)。经过多番尝试最终找到一种最简单的解决办法解决该问题。
准备工作
安装
由于qt为32位版本,所以安装MySQL时,选择MySQL Server x86 以及 MySQL Connector/C x86,否则会出现QSqlDatabase: QMYSQL driver not loaded的问题。
配置
打开C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib将libmysql.dll和libmysql.lib两个文件复制到C:\Programs\Qt\Qt5.9.1\5.9.1\mingw53_32\bin目录下。
测试代码
#include
#include
#include
#include
void connect_mysql()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); //连接数据库主机名
db.setPort(3306); //连接数据库端口号
db.setDatabaseName("xxxxxx"); //连接数据库名
db.setUserName("root"); //数据库用户名
db.setPassword("xxxxxx"); //数据库密码
db.open();
if(!db.open())
{
qDebug()<
return ;
}
else
{
qDebug()<
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
connect_mysql();
return a.exec();
}