当前位置: 首页 > news >正文

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驱动配置成功。

http://www.cnnetsun.cn/news/28650.html

相关文章:

  • 63、网络资源与术语全解析
  • 49、Oracle数据库中Java与WebDB/Oracle Portal的配置与使用
  • 51、互联网应用服务器(iAS)全面解析
  • 15、C语言编程:风格、命名与文档的艺术
  • 腾讯混元大模型Hunyuan-Large开源在即:3890亿参数MoE架构引领AI技术新突破
  • NCMconverter:解锁网易云音乐加密文件的专业解决方案
  • 腾讯混元3D开源P3-SAM:引领三维零件分割进入全自动时代
  • NextStep-1横空出世:140亿参数开启连续令牌 autoregressive 图像生成新纪元
  • Llama-Factory能否用于构建智能营养师推荐系统?
  • 突破2.4万亿参数壁垒:文心大模型5.0全模态能力深度解析与实测
  • 通义大模型矩阵震撼发布:多模态AI技术引领千行百业智能化革命
  • 31、Linux文件所有权与权限设置全解析
  • 32、Linux 文件权限与网络连接管理全解析
  • 22、网络、互联网与万维网基础全解析
  • SElinux策略文件配置
  • 瑞士发布国家级开源大模型Apertus:AI公共基础设施的全球新范式
  • 2025年AI推理里程碑:Inclusion AI开源万亿参数模型Ring-1T,数学推理性能跃升14%
  • 5、内核调试技术全解析
  • 8、Linux内核中的时间处理、延迟与异步工作调度
  • 10、与硬件通信:I/O端口和内存的使用指南
  • 17、Linux 块设备驱动开发全面解析
  • 20、Linux内核开发资源与技术要点解析
  • 29、Linux系统启动与电源管理全解析
  • 32、深入理解进程与线程
  • 45、基于IP地址十六进制表示创建软件密钥及任意进制转换脚本
  • 中文跨模态里程碑:Chinese-CLIP-ViT-Base-Patch16模型深度解析与应用指南
  • 开源多模态新突破:CogVLM2-LLaMA3-Chat-19B-Int4模型深度解析与应用指南
  • 43、Samba与不同操作系统的连接及OS/2系统的使用配置
  • 45、Samba配置中的操作系统特定问题与GNU GPL协议解读
  • 47、网络技术与Samba服务全面解析