栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

在qt中连接mySql数据库

在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 FilesMySQLMySQL Server 5.5lib

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

这里的QT安装目录在:D:Qt1Qt5.12.65.12.6mingw73_64bin

 二、查看QMYSQL驱动        

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

        这里的查看路径是:D:Qt1Qt5.12.65.12.6mingw73_64pluginssqldrivers

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

        3.1 下载64位的MySQL Community Server

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

     

 

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

解压后的内容如下图:

 3.2  编辑mysql.pro文件

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

        本文mysql.pro路径为:D:Qt1Qt5.12.65.12.6Srcqtbasesrcpluginssqldriversmysql

      

用QtCreate打开编辑.pro文件

添加修改如下命令:

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

        注释代码:#QMAKE_USE += mysql

2、添加代码:INCLUDEPATH += "D:Qt1mysql-8.0.26-winx64include"

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

3、添加代码:LIBS += "D:Qt1mysql-8.0.26-winx64liblibmysql.lib"

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

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

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

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

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

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

当前文档路径是:D:Qt1Qt5.12.65.12.6mingw73_64pluginssqldrivers

 

 四、测试连接

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

 完美收官!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号