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

进入实战

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

QT连接MYSQL报错

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

QT+=sql
QT+=mysql

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

我测试连接的cpp源代码:

#include <QCoreApplication>
 #include <QtSql>
#include <QDebug>

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的动态库文件,构建目录是类似于下面这种:
在这里插入图片描述
如果有需要,也可以去我的仓库里面下载,但是一般安装好了MySQL,就可以在MYSQL的lib目录下找到这里给出路径 …\MYSQL\lib\libmysql.dll。
放到构建目录中之后就可以执行成功了:
执行结果如下:
在这里插入图片描述
如果想看完整的代码,我也上传到github上了,小伙伴们可以点击挑战查看,欢迎fork、star和follow!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值