看前须知:

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/ODBCicon-default.png?t=N7T8https://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()<<"数据库打开成功";
}

 下方出现数据库打开成功即连接数据库成功

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐