news 2026/5/11 14:55:36

Qt ---- Qt6.5.3 连接MySQL数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qt ---- Qt6.5.3 连接MySQL数据库

目录

  • 1,配置mysql数据库驱动
  • 2,编译qsqlmysql驱动
  • 3,连接MySQL数据库

1,配置mysql数据库驱动

Qt连接数据库需要两个驱动程序,也就是两种 .dll .lib文件,首先需要配置mysql数据库本身的驱动程序。

首先我们需要下载mysql数据库,此文章不展示如何下载mysql数据库。
作者将数据库安装在默认的C:盘

然后我们去c盘的路径 C:\Program Files\MySQL\MySQL Server 8.0\lib 中将 libmysql.lib和libmysql.dll 文件拷贝下来。

打开Qt文件夹 找到路径 Qt\6.5.3\mingw_64\plugins\sqldrivers 将刚才复制的 libmysql.lib和libmysql.dll 粘贴在此文件夹下。

然后将 libmysql.lib和libmysql.dll 粘贴到 Qt\6.5.3\mingw_64\bin 下。


2,编译qsqlmysql驱动

Qt连接数据库需要调用 qsqlmysql.dll 驱动程序,然后 qsqlmysql 驱动程序再调用 mysql 驱动实现连接mysql数据库的功能。

但是很多版本的 Qt 都没有 qsqlmysql.dll 的驱动程序,需要程序员手动编译。

首先找到 Qt 安装路径 ,进入 Qt\6.5.3\Src\qtbase\src\plugins\sqldrivers 打开 .cmake.conf 文件。


在文件中添加以下几行 :
SET(FEATURE_sql_mysql ON)
SET(MySQL_INCLUDE_DIR “D:/BuDongPan/MYSQL/include”)
SET(MySQL_LIBRARY “D:/BuDongPan/MYSQL/lib/libmysql.lib” )

其中 D:/BuDongPan/MYSQL/include 和 D:/BuDongPan/MYSQL/lib/libmysql.lib 是从MYSQL数据库相关的文件夹下复制过来的,具体操作就不展示了。

然后用 QtCreator 打开 CMakeLists.txt 文件,选择自己想选择的编译器后,构建项目,就会自动编译了,找到编译的文件夹,文件夹下就已经有了编译好的 qsqlmysql.dll 和 qsqlmysql.debug 文件。
编译文件夹的路径为 : \Qt\6.5.3\Src\qtbase\src\plugins\sqldrivers\build\Desktop_Qt_6_5_3_MinGW_64_bit-Debug\plugins\sqldrivers


将这些文件复制粘贴到 Qt\6.5.3\mingw_64\plugins\sqldrivers 中以及 Qt\Tools\QtCreator\bin\plugins\sqldrivers 中。


3,连接MySQL数据库

在 .pro文件中添加一行代码QT += sql
添加头文件:

#include<QSqlDatabase>#include<QSqlQuery>#include<QDebug>
// 添加MySQL数据库驱动QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
// 配置数据库的用户名,密码,主机名,数据库名,端口号db.setHostName("localhost");db.setPort(3306);db.setDatabaseName("itcast");db.setUserName("root");db.setPassword("2awsdjkl");if(db.open()){qDebug()<<"数据库连接成功";QSqlQueryquery(db);query.exec("SELECT VERSION()");if(query.next()){qDebug()<<"MySQL版本: "<<query.value(0).toString();}}else{qDebug()<<"数据库连接失败: ";// db.lastError().text();}
//可以打印数据库驱动名qDebug()<<"数据库驱动:"<<QSqlDatabase::drivers();

打印结果如下:
数据库驱动: QList(“QSQLITE”, “QMARIADB”, “QMYSQL”, “QODBC”, “QPSQL”)

出现 “QMYSQL” 说明qmysql驱动配置成功。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 8:21:50

61、深入了解 Linux 命令:从基础到文件操作

深入了解 Linux 命令:从基础到文件操作 1. Linux 命令的重要性 Linux 拥有多种出色的图形用户界面,许多常见的网络功能也配备了图形化配置工具。然而,很多 Linux 配置任务只能通过命令行来完成。在多数情况下,图形化配置工具仅能提供最基本的配置参数。若要配置高级功能,…

作者头像 李华
网站建设 2026/5/11 0:27:54

41、Unix 服务器磁盘与 CPU 监控优化指南

Unix 服务器磁盘与 CPU 监控优化指南 1. 磁盘 I/O 管理 为避免磁盘 I/O,我们通常会尽力在内存中缓存数据,但磁盘 I/O 仍不可避免。我们的任务是检测并消除不必要的 I/O,同时降低必要 I/O 的影响。 与系统管理员(SA)合作规划和配置机器上的磁盘布局,这涉及容量规划和性…

作者头像 李华
网站建设 2026/5/9 4:20:07

16、C语言代码实现与指针使用详解

C语言代码实现与指针使用详解 1. 代码实现原则 在阅读优秀程序员编写的代码时,会发现其注释往往较少,但只要读者具备基本的C语言知识,代码依然具有较高的可读性。这是因为优秀的编程只需解释那些不明显的想法和前提条件(即难点部分),代码的结构本身就能展示其功能和实现…

作者头像 李华
网站建设 2026/5/4 15:48:20

24、C语言编程:二进制流、错误处理与性能优化

C语言编程:二进制流、错误处理与性能优化 1. 多字节编码与Unicode 在一致的环境中,多字节字符串编码和简单的输入输出(IO)操作可以正常工作,即源代码、其他文本文件和终端使用相同的多字节编码。然而,并非所有环境都使用相同的编码,因此在不同环境之间传输文本文件(包…

作者头像 李华
网站建设 2026/5/11 1:14:26

26、性能测量与函数式宏的使用

性能测量与函数式宏的使用 在编程过程中,性能测量和函数式宏的运用是两个关键的方面。性能测量有助于我们了解代码的执行效率,而函数式宏则能在某些场景下为代码提供更强大的功能。本文将详细探讨这两个方面的相关内容。 性能测量 在性能测量中,我们发现使用 volatile 循…

作者头像 李华
网站建设 2026/5/9 20:12:14

突破文档解析瓶颈:PaddleOCR-VL以0.9B参数实现多模态SOTA性能

突破文档解析瓶颈&#xff1a;PaddleOCR-VL以0.9B参数实现多模态SOTA性能 【免费下载链接】PaddleOCR-VL PaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B&#xff0c;这是一款精简却功能强大的视觉语言模型&#xff08;VLM&#xff09;…

作者头像 李华