news 2026/6/23 9:01:20

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/6/23 7:09:35

63、网络资源与术语全解析

网络资源与术语全解析 1. 实用网站导航 在网络学习和研究过程中,有许多实用的网站能为我们提供丰富的信息。下面为大家详细介绍不同领域的实用网站: - 认证信息类 - 微软认证 : www.microsoft.com/learning/mcp 是微软认证的总部,提供微软相关认证的详细信息。 …

作者头像 李华
网站建设 2026/6/23 21:28:33

49、Oracle数据库中Java与WebDB/Oracle Portal的配置与使用

Oracle数据库中Java与WebDB/Oracle Portal的配置与使用 Java在数据库中的配置与应用 在不使用SSL(Secure Sockets Layer)时,使用TCP协议的MTS_DISPATCHERS。接着配置 listener.ora 文件以实现GIOP展示和RAW会话,这里使用端口2481。在默认监听器部分添加以下代码: LI…

作者头像 李华
网站建设 2026/6/23 22:22:19

51、互联网应用服务器(iAS)全面解析

互联网应用服务器(iAS)全面解析 1. Web服务器与应用服务器基础 Web服务器接收来自客户端的HTTP请求,而应用服务器包含程序代码(如EJBs)来处理这些请求。许多产品将这两项任务整合为一个产品,通常被称为Web服务器或应用服务器。这里将这种组合称为Web应用服务器。不过,…

作者头像 李华
网站建设 2026/6/23 19:43:55

15、C语言编程:风格、命名与文档的艺术

C语言编程:风格、命名与文档的艺术 1. C库函数概述 C库通过一系列头文件进行交互。数学函数最好通过 tgmath.h 中的类型通用宏来使用;输入输出(IO)通过 stdio.h 进行交互,有以文本或原始字节进行IO的函数,文本IO可以是直接的,也可以通过格式进行结构化。 字符串处…

作者头像 李华
网站建设 2026/6/23 19:48:28

腾讯混元大模型Hunyuan-Large开源在即:3890亿参数MoE架构引领AI技术新突破

随着生成式人工智能技术的飞速迭代&#xff0c;大型语言模型&#xff08;LLMs&#xff09;已成为推动自然语言处理、多模态交互乃至科学研究突破的核心引擎。然而&#xff0c;模型参数规模的指数级增长与计算资源消耗之间的矛盾日益凸显&#xff0c;如何在保持性能领先的同时实…

作者头像 李华
网站建设 2026/6/23 19:52:34

NCMconverter:解锁网易云音乐加密文件的专业解决方案

NCMconverter&#xff1a;解锁网易云音乐加密文件的专业解决方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 当你从网易云音乐下载了心仪的歌曲&#xff0c;却发现它们被保存…

作者头像 李华