QT5.9连接MySQL5.7解决QSqlDatabase: QMYSQL driver not loaded问题

在使用qt连接mysql数据库时,总是出现QSqlDatabase: QMYSQL driver not loaded的问题。网上有很多解决办法,比较麻烦的方法是重新编译QT中mysql的驱动文件qsalmysql.dll,还有一种简单方法是把libmysql.dll复制到指定的目录(但是很多都没说清楚)。经过多番尝试最终找到一种最简单的解决办法解决该问题。
1717033-20190627120956023-261569218.png

准备工作

下载qt-opensource-windows-x86-5.9.1.exe
下载mysql-installer-community-5.7.26.0.msi

安装

由于qt为32位版本,所以安装MySQL时,选择MySQL Server x86 以及 MySQL Connector/C x86,否则会出现QSqlDatabase: QMYSQL driver not loaded的问题。
QT5.9连接MySQL5.7解决QSqlDatabase: QMYSQL driver not loaded问题_第1张图片

配置

打开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()<<"不能连接"<<"connect to mysql error"<

QT5.9连接MySQL5.7解决QSqlDatabase: QMYSQL driver not loaded问题_第2张图片

转载于:https://www.cnblogs.com/linzijie1998/p/11096167.html

你可能感兴趣的:(QT5.9连接MySQL5.7解决QSqlDatabase: QMYSQL driver not loaded问题)