看前须知:
qt6没有mysql驱动,需要自己编译.
而且还需要下载源代码src文件.
qt6的mysql驱动编译源码中,没有pro,只能用cmake进行编译
包括使用github开源的编译好的mysql驱动之后还显示编译失败.
如果没试过github开源编译好的mysql驱动可以参考这篇博客:(因为这个方法是笔者试过的几个方法里最简单的了)
Qt6.4.2连接Mysql_qt6.2.4 mysql-CSDN博客
最终经过几天折磨之后笔者成功连接数据库使用的是如下方法:
通过ODBC连接mysql数据库
首先要查看自己QT是多少位的.笔者按照编译器位数来看的.例如笔者就32位和64位编译器都用过,所以 ODBC32位和64位都下载了.
(1)去官网下载ODBC
ODBC下载地址:
MySQL :: Download Connector/ODBChttps://dev.mysql.com/downloads/connector/odbc/
64位这样选择
32位这样选
(2)点击DownLoad后进入下面的界面,如图点击No thanks
(3)下载完ODBC之后,双击安装一直点next即可完成安装.
(4)安装之后再电脑左下角搜索栏中输入ODBC即可查看安装后的ODBC
(5)点击添加按钮添加
(6)点击MySql ODBC
(7)如图,完成之后可以点击Test按钮测试一下是否能连接,出现connection successful即连接成功
(8)回到Qt中测试连接数据库的代码:(函数形式)
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
#include <QSqlQuery>
void connMysql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("127.0.0.1"); //TCP/IP Server
db.setDatabaseName("qt2mysql32"); //ODBC中 Data Source Name
db.setUserName("root"); //ODBC User
db.setPassword("123456"); //ODBC Password
if(!db.open())
qDebug()<<"数据库打开失败:"<<db.lastError().text();
else
qDebug()<<"数据库打开成功";
}
下方出现数据库打开成功即连接数据库成功