Qt ---- Qt6.5.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

添加头文件:

javascript 复制代码
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
javascript 复制代码
// 添加MySQL数据库驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
javascript 复制代码
// 配置数据库的用户名,密码,主机名,数据库名,端口号
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("itcast");
db.setUserName("root");
db.setPassword("2awsdjkl");

if (db.open())
    {
        qDebug() << "数据库连接成功";
        QSqlQuery query(db);
        query.exec("SELECT VERSION()");
        if (query.next())
        {
            qDebug() << "MySQL版本: " << query.value(0).toString();
        }
    }
    else
    {
        qDebug() << "数据库连接失败: ";// db.lastError().text();
    }
javascript 复制代码
//可以打印数据库驱动名  
qDebug()<<"数据库驱动:"<<QSqlDatabase::drivers();

打印结果如下:

数据库驱动: QList("QSQLITE", "QMARIADB", "QMYSQL", "QODBC", "QPSQL")

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

相关推荐
马克Markorg7 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_9 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy9 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道11 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_124987075311 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha11 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_11 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance11 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋11 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.12 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库