Qt 6.5.2连接MySQL及测试代码(附驱动文件)

版本:Windows_64位,Qt 6.5.2,MySQL 8.0

 一、配置驱动文件(3步搞定!)

现在Qt6版本不提供MySQL的驱动,而且也没有pro项目让你生成驱动的dll文件,所以只要你使用Qt6版本就需要手动去生成驱动文件,虽然不算麻烦,但里面也有不少坑。这个具体的生成步骤我就不细讲了,直接奉上编译好的文件,大家自行下载。(如果你想自己手动生成,可以参考这篇文章:qt6.5.0MySQL驱动手动编译以及数据库连接详细教程以及注意事项附资源链接_qt6 mysql_qascetic的博客-CSDN博客)

Windows:(提取码:jvjv)

MSVC2019_64 & MinGW_11.2.0_64百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间icon-default.png?t=N7T8https://pan.baidu.com/s/1udluXzbyv3j55vX4tQ1w3w?pwd=jvjv

Linux:(提取码:jvjv)

gcc_64百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间icon-default.png?t=N7T8https://pan.baidu.com/s/1dOqPxDV5DNbzr9_mRDUr6g?pwd=jvjv

步骤1

下面以Windows为例,介绍一下解压后的文件分别要放置的位置。在电脑桌面上随便新建一个文件夹,然后把压缩包放进去,解压到当前文件夹,会得到下面几个文件:

Qt 6.5.2连接MySQL及测试代码(附驱动文件)_第1张图片

 

步骤2

解压后的文件里有个名为 sqldrivers 文件夹,打开后,里面有2个文件,复制粘贴到 Qt\6.5.2\msvc2019_64\plugins\sqldrivers 下。如下图:

Qt 6.5.2连接MySQL及测试代码(附驱动文件)_第2张图片

步骤3 

MySQL Server 8.0\lib 中的 libmysql.dll libmysql.lib 2个文件复制粘贴到 msvc2019_64\bin 目录下。如下图:

Qt 6.5.2连接MySQL及测试代码(附驱动文件)_第3张图片

二、测试代码

实例代码

这里直接贴下面了,实现的是读取名为 test 数据库中的测试表 testtable1 中的数据到 tablewidget 控件中并显示出来。

#include "mainwindow.h"
#include "ui_mainwindow.h"

// 导入需要用到的头文件
#include 
#include 
#include 
#include 

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 开始连接
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost"); // 设置数据库主机名
    db.setDatabaseName("test"); // 设置数据库名称
    db.setUserName("root"); // 设置数据库用户名
    db.setPassword("******"); // 设置数据库密码

    if (db.open()) {

        // 执行SQL查询语句,获取表格数据
        QSqlQuery query("SELECT * FROM testtable1");

        // 获取查询结果中的字段数量
        int columnCount = query.record().count();

        // 获取查询结果中的行数量
        int rowCount = query.size();

        // 设置表格的列数和行数
        ui->tableWidget->setColumnCount(columnCount);
        ui->tableWidget->setRowCount(rowCount);

        // 遍历查询结果,并将数据添加到表格中
        while (query.next()) {
            for (int i = 0; i < columnCount; i++) {
                QVariant data = query.value(i);
                QTableWidgetItem *item = new QTableWidgetItem(data.toString());
                ui->tableWidget->setItem(i, query.at(), item);
            }
        }

    }
    else {
        // 打开数据库失败,输出错误信息
        qDebug() << "Database error: " << db.lastError().text();
    }

    // 关闭数据库连接
    db.close();
}

MainWindow::~MainWindow()
{
    delete ui;
}

温馨提示 

在运行上面代码之前,要对项目中的 CMakeLists.txt 文件稍作修改,修改处已用红线标记。

Qt 6.5.2连接MySQL及测试代码(附驱动文件)_第4张图片

 

写在最后

码字不易,如果对你有用,恳求能点一个小小的赞。

如果你没有配置成功或者对此有什么疑问,欢迎在评论区给我留言,我看到会第一时间回复哦~

你可能感兴趣的:(Qt,从入门到精通,qt,开发语言,mysql,数据库,c++)