实战记录01(QT连接MySQL显示未加载问题解决)

进入实战

学了这么几天就要开发新项目了,所以可能不会每日记录吧,遇到问题可能就发一下,
昨天是又重新写了一个登录和管理界面,写完之后就可以开始链接数据库了。

QT连接MYSQL报错

我一开始是在.pro文件中加上了

QT+=sql
QT+=mysql

在添加上Mysql connector C++和MYSQL的lib和includePath,然后报错是未知的模块:mysql,再之后就怎么折腾都连接不成功

我测试连接的cpp源代码:

#include 
 #include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("testqtconn");
    db.setUserName("root");
    db.setPassword("123456");
 // db.open();
    if (db.open())
    {
        qDebug() << "Database connected!";
        QSqlQuery query;
        query.prepare("SELECT * FROM login");
        if (query.exec())
        {
            while (query.next())
            {
                QString name = query.value(0).toString();
                int age = query.value(1).toInt();
                qDebug() << "Name: " << name << "Age: " << age;
            }
        }
        else
        {
            qDebug() << "Query failed: " << query.lastError().text();
        }
    }
    else
    {
        qDebug() << "Database failed to connect: " << db.lastError().text();
    }
    return a.exec();
}


在之后请教了前辈:把QT+=mysql和lib以及includePath从文件中去掉,把mysql驱动的动态库文件添加到qt对应的目录中,我的目录是:…\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers,动态库文件我放到我的GitHub对应的仓库中了,有需要的小伙伴可以去我的仓库里面下载,注意这个驱动只能放到64位的mingw编译器中
在这里插入图片描述
这个时候执行还是会执行失败,显示Mysql驱动未加载,这个时候需要在当前项目的构建(带debug的文件夹)的目录中添加mysql的动态库文件,构建目录是类似于下面这种:
实战记录01(QT连接MySQL显示未加载问题解决)_第1张图片
如果有需要,也可以去我的仓库里面下载,但是一般安装好了MySQL,就可以在MYSQL的lib目录下找到这里给出路径 …\MYSQL\lib\libmysql.dll。
放到构建目录中之后就可以执行成功了:
执行结果如下:
实战记录01(QT连接MySQL显示未加载问题解决)_第2张图片
如果想看完整的代码,我也上传到github上了,小伙伴们可以点击挑战查看,欢迎fork、star和follow!

你可能感兴趣的:(QT,qt,mysql,开发语言)