qt首次连接MYSQL驱动的各种问题

 参考链接:

        Qt连接MySQL数据库最详细的教程_joey_ro的博客-CSDN博客

        QT出现没有MySQL驱动,手动编译步骤 - nanmi - 博客园

这是一个刚毕业的职场小白记录学习的文章

如有侵权告知必删

目录

一、在mySql安装目录的lib目录下,获取两个文件

二、查看QMYSQL驱动        

三、解决qt没有QMYSQL驱动问题

3.1 下载64位的MySQL Community Server

3.2  编辑mysql.pro文件

 四、测试连接

4.1 输出可用数据库

4.2 连接数据库


一、在mySql安装目录的lib目录下,获取两个文件

      这里MYSQL的安装地址是:D:\Program Files\MySQL\MySQL Server 5.5\lib

获取这两个文件,将它复制到QT安装目录下bin文件夹中:

这里的QT安装目录在:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\bin

 二、查看QMYSQL驱动        

        如果在QT安装目录下没有qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用)这两个文件。(如果有,可以跳过第三节的内容了)

        这里的查看路径是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

三、解决qt没有QMYSQL驱动问题

        3.1 下载64位的MySQL Community Server

        下载地址:MySQL :: Download MySQL Community Server

     

 

下载完成后解压(不安装)

解压后的内容如下图:

 3.2  编辑mysql.pro文件

        该文件在当前qt安装目录下。

        本文mysql.pro路径为:D:\Qt1\Qt5.12.6\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql

      

用QtCreate打开编辑.pro文件

添加修改如下命令:

 1、一定要屏蔽QMAKE_USE += mysql,如果不屏蔽会提示mysql库不存在。

        注释代码:#QMAKE_USE += mysql

2、添加代码:INCLUDEPATH += "D:\Qt1\mysql-8.0.26-winx64\include"

      该路径是刚才下载解压备用的mysql的头文件路径

3、添加代码:LIBS += "D:\Qt1\mysql-8.0.26-winx64\lib\libmysql.lib"

       该路径是刚才下载解压备用的mysql的库文件路径

 4、添加代码:DESTDIR = ../mysql/lib/

       为了方便查找将来编译好的库文件,添加这个语句用来指明编译后的结果输出的位置

添加完成后,开始编译构建

等待右下方构建完毕后,在mysql.pro文件目录下,会多出一个lib文件夹

 将这个文件夹中的所有内容复制到QT安装目录下的sqldrivers文件夹中

当前文档路径是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers

 

 四、测试连接

        4.1 输出可用数据库

    qDebug() << "available drivers: ";
    QStringList drivers = QSqlDatabase::drivers();
    foreach (QString driver, drivers) {
        qDebug() << driver;
    }

         当运行结果出现QMYSQL时,你就大功告成了!

         4.2 连接数据库

    //连接数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("planedb");
    db.setUserName("root");
    db.setPassword("123456");

    bool ok = db.open();
    if(ok)
    {
        QMessageBox::information(this, "infor", "success");
    }
    else
    {
        QMessageBox::information(this, "infor", "open failed");
        qDebug() << "error open database because" << db.lastError().text();
    }

编译运行后,出现success的对话框。

 完美收官!

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值