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

news2024/11/25 2:39:46

版本: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为例,介绍一下解压后的文件分别要放置的位置。在电脑桌面上随便新建一个文件夹,然后把压缩包放进去,解压到当前文件夹,会得到下面几个文件:

 

步骤2

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

步骤3 

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

二、测试代码

实例代码

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

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

// 导入需要用到的头文件
#include <QtSql>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlTableModel>

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 文件稍作修改,修改处已用红线标记。

 

写在最后

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gitlab-rake gitlab:backup:create 执行报错 Errno::ENOSPC: No space left on device

gitlab仓库备份执行 gitlab-rake gitlab:backup:create报错如下&#xff1a; 问题分析&#xff1a;存储备份的空间满 解决方法&#xff1a; 方法1&#xff1a;清理存放路径&#xff0c;删除不需要文件&#xff0c;释放空间。 方法2&#xff1a;创建一个根目录的挂载点&#x…

vr智慧党建主题展厅赋予企业数字化内涵

现如今&#xff0c;VR全景技术的发展让我们动动手指就能在线上参观博物馆、纪念馆&#xff0c;不仅不用受时间和空间的限制&#xff0c;还能拥有身临其境般的体验&#xff0c;使得我们足不出户就能随时随地学习、传承红色文化。 很多党建展厅都是比较传统的&#xff0c;没有运用…

Redis——》如何评估锁过期时间

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

Leetcode17电话号码的组合

思路&#xff1a;用字典的形式保存号码的映射&#xff0c;实际组合是前一个数字串的组合加上后面一个数字的所有可能组合 answer_dict{2:[a,b,c],3:[d,e,f],4:[g,h,i],5:[j,k,l],6:[m,n,o],7:[p,q,r,s],8:[t,u,v],9:[w,x,y,z]} class Solution:def letterCombinations(self, d…

大集合按照指定长度进行分割成多个小集合,用于批量多次处理数据

&#x1f4da;目录 拆分案例拆分的核心代码 通常我们对集合的更新或者保存都需要用集合来承载通过插入的效率&#xff0c;但是这个会遇到一个问题就是你不知道那天那个集合的数量可能就超了&#xff0c;虽然我们连接数据库进行批量提交会在配置上配置allowMultiQueriestrue,但是…

chain of thought (思维链, cot)

定义 思维链 (Chain-of-thought&#xff0c;CoT) 的概念是在 Google 的论文 "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" 中被首次提出。思维链&#xff08;CoT&#xff09;是一种改进的提示策略&#xff0c;用于提高 LLM 在复杂推理…

c++ 面试题(2)--STL ,新特性

目录 1 STL 1 请说说 STL 的基本组成部分 2 请说说 STL 中常见的容器&#xff0c;并介绍一下实现原理 3 说说 STL 中 map hashtable deque list 的实现原理 4 请你来介绍一下 STL 的空间配置器&#xff08;allocator&#xff09; 6 迭代器用过吗&#xff1f;什么时候会失…

医院常见的HIS、CIS、LIS、EMR、PACS、RIS医疗信息化中的介绍

医院常见的HIS、CIS、LIS、EMR、PACS、RIS分别是&#xff1a; HIS&#xff08;Hospital Information System&#xff09;&#xff1a;医院信息系统&#xff0c;是医院管理信息化的核心系统&#xff0c;包括病人管理、医生管理、药品管理、医疗设备管理、财务管理等多个方面&am…

拿来即用修改密码功能

<template><div><!-- 重置密码 --><el-dialogtitle"修改密码"v-model"state.resetPwdDialogVisible":showClose"state.firstLogin ! 1"width"550px"close"onCancel":close-on-click-modal"false&…

环球新材国际公布2023年中期业绩:上半年业绩符合预期 公司经营稳健可持续

8月25日&#xff0c;环球新材国际&#xff08;6616.HK&#xff09;公布2023年中期业绩&#xff0c;上半年公司营收4.64亿元&#xff0c;毛利润为2.25亿元。毛利率为48.4%&#xff0c;较2022年同期略降2.8个百分点。净利润为9470万元&#xff0c;较2022年同期下降14.5%&#xff…

工业状态监测如何选择合适的无线技术?

工业领域的状态监测在提高生产效率和产品质量方面起着关键作用。过去依赖于预防性维护和例行检查的方式已经不再能满足日益复杂的生产需求&#xff0c;随着工业物联网&#xff08;IIoT&#xff09;的兴起&#xff0c;设备状态监测逐渐成为一种关键策略&#xff0c;催生了预测性…

机器学习---决策树的划分依据(熵、信息增益、信息增益率、基尼值和基尼指数)

1. 熵 物理学上&#xff0c;熵 Entropy 是“混乱”程度的量度。 系统越有序&#xff0c;熵值越低&#xff1b;系统越混乱或者分散&#xff0c;熵值越⾼。 1948年⾹农提出了信息熵&#xff08;Entropy&#xff09;的概念。 从信息的完整性上进⾏的描述&#xff1a;当系统的有序…

纵行科技与山鹰绿能达成合作,提供物联网资产管理数据服务

近日&#xff0c;纵行科技与山鹰绿能宣布双方达成深度合作关系&#xff0c;纵行科技将为山鹰绿能提供专业的物联网技术服务&#xff0c;使用物联网技术帮助山鹰绿能对循环包装载具等资产进行在线管理和数字化运营。 据悉&#xff0c;山鹰绿能是一家由山鹰国际控股的全资子公司…

Meta发布AIGC生成式人工智能模型来生成音乐与音效——AudioCraft

近年来,包括语言模型在内的生成式人工智能模型取得了巨大进步,特别是ChatGPT的发布,让大家看到了大语言模型的魅力。无论是计算机视觉,还是nlp领域的文本描述生成各种图像和视频,到执行机器翻译,文本生成等等大模型上,其都取得了令人意想不到的发展。但音乐与音频上似乎…

LLM推理部署(一):LLM七种推理服务框架总结

自从ChatGPT发布以来&#xff0c;国内外的开源大模型如雨后春笋般成长&#xff0c;但是对于很多企业和个人从头训练预训练模型不太现实&#xff0c;即使微调开源大模型也捉襟见肘&#xff0c;那么直接部署这些开源大模型服务于企业业务将会有很大的前景&#xff0c;本文将介绍七…

多张图片转为pdf怎么弄?

多张图片转为pdf怎么弄&#xff1f;在网络传输过程中&#xff0c;为了避免图片格式文件出现差错&#xff0c;并确保图片的清晰度和色彩不因不同设备而有所改变&#xff0c;常见的做法是将图片转换为PDF格式。然而&#xff0c;当涉及到多张图片时&#xff0c;逐一转换将会变得相…

如何使用Puppeteer进行新闻网站数据抓取和聚合

导语 Puppeteer是一个基于Node.js的库&#xff0c;它提供了一个高级的API来控制Chrome或Chromium浏览器。通过Puppeteer&#xff0c;我们可以实现各种自动化任务&#xff0c;如网页截图、PDF生成、表单填写、网络监控等。本文将介绍如何使用Puppeteer进行新闻网站数据抓取和聚…

SpringBoot的自动装配源码分析

文章目录 一&#xff1a;什么是自动装配二、springboot的启动流程1.调用SpringApplication&#xff08;&#xff09;的构造方法2.执行核心run方法&#xff08;&#xff09;3.执行核心prepareContext&#xff08;&#xff09;4.执行核心refreshContext&#xff08;&#xff09;5…

信创软件测试质量的四个特性是什么?

对于信创软件而言&#xff0c;需结合其自身的特点、用户单位的实际使用需求&#xff0c;选择合适的质量特性范围&#xff0c;制定恰当的测试方案&#xff0c;以最大效率发现适配问题、尽快地完成适配质量的提升。那么&#xff0c;信创软件测试质量的四个特性是什么?下面&#…