qt首次连接MYSQL驱动的各种问题图文详解

2023-05-16 14:05:14 连接 详解 首次

一、在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的对话框。

完美收官!

参考链接:

Qt连接MySQL数据库最详细的教程

QT出现没有MySQL驱动,手动编译步骤

总结

到此这篇关于qt首次连接MYSQL驱动的各种问题的文章就介绍到这了,更多相关qt首次连接MYSQL驱动内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章