QT 中 连接MySQL的实战方法

本文参考以下文章:
https://blog.csdn.net/qwpo135790/article/details/124106176

1 前言

准备工作需要查看自己qt的版本以及下载好qt和mysql相关软件

2 解决方法-1

示例代码:

(1)在.pro文件中添加下列代码:

QT +=sql

(2)在mainwindow.h文件中添加下列头文件:

#include<QSqlDatabase>

(3)测试代码

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");  //连接本地主机
db.setPort(3306);
db.setDatabaseName("数据库名");
db.setUserName("用户名");
db.setPassword("密码");
bool ok = db.open();
if (ok){
    QMessageBox::information(this, "infor", "link success");
}
else {
    QMessageBox::information(this, "infor", "link failed");
    qDebug()<<"error open database because"<<db.lastError().text();
}
 

运行代码,如果连接Mysql成功则输出下面结果:
在这里插入图片描述
如果连接Mysql失败则输出:
在这里插入图片描述
如果连接Mysql失败也不用太灰心,方法一在初次连接时很多情况下都会出错。下面我们来看看第二种成功率更高的连接方法。

3 解决方法-2

ODBC下载官网
(1)选择适合自己QT版本的ODBC版本。具体如何查看自己QT是多少位的,可以通过QT软件上方的菜单栏 帮助->About QT Creator 查看位数;
在这里插入图片描述
(2)打开
在这里插入图片描述
(3)点击添加按钮添加用户DSN
在这里插入图片描述
(4)点击MYSQL ODBC 8。0 ANSI Driver
在这里插入图片描述
(5)这里的内容按照下面提示对应填好即可。
在这里插入图片描述
(6)完成Mysql的添加后,可以点击Test按钮测试一下能否连接
在这里插入图片描述
(7)ODBC连接测试代码

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("刚刚在ODBC中创建的Data source name"); //不是Database,记得别填错
db.setUserName("用户名");
db.setPassword("密码");
bool ok = db.open();
if (ok){
    QMessageBox::information(this, "infor", "link success");
}
else {
    QMessageBox::information(this, "infor", "link failed");
    qDebug()<<"error open database because"<<db.lastError().text();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值