当前位置:网站首页>QT连接Mysql数据库(详细成功版)
QT连接Mysql数据库(详细成功版)
2022-07-29 15:10:00 【m0_67391521】
前言
QT连接Mysql数据库步骤相对比较麻烦,因此写了篇文章将详细过程呈现给大家,欢迎大家来评论区指导提问。
方法一、直接通过MySQL的驱动加载数据库
示例代码:
(1)在.pro文件中添加下列代码:
QT +=sql
(2)在mainwindow.h文件中添加下列头文件:
#include<QSqlDatabase>
(3)在main.cpp文件中添加下列代码:
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失败也不用太灰心,方法一在初次连接时很多情况下都会出错。下面我们来看看第二种成功率更高的连接方法。
方法二、通过ODBC连接MySQL数据库
ODBC下载官网
(1)选择适合自己QT版本的ODBC版本。具体如何查看自己QT是多少位的,可以通过QT软件上方的菜单栏帮助->About QT Creator 查看位数
(2)点击DownLoad后会进入下面的界面
点击No thanks,just start my download即可下载,不用点击上面的登录按钮,否则会有繁琐的登录步骤。
(3)下载完ODBC后,双击安装,一直点next即可完成安装。
(4)安装之后在电脑左下角的搜索栏中输入ODBC即可查看安装后的ODBC
(5)点击添加按钮添加用户DSN.
(6)点击MYSQL ODBC 8。0 ANSI Driver。
(7)这里的内容按照下面提示对应填好即可。
(8)完成Mysql的添加后,可以点击Test按钮测试一下能否连接。
2.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();
}
恭喜你走到这一步,离成功连接Mysql只差最后一步!运行代码,一般都是可以完成连接的了。
总结
QT连接Mysql数据库的步骤相对繁琐,但是也是一个不错的学习经历。希望可以帮到大家,欢迎大家指导评论。
边栏推荐
猜你喜欢
VMware 16.1软件安装包下载及安装教程
UFLO:5、启动任务并自动完成第一个人工任务
Qt learning on the first day
CAN报文:数据帧详解
ES6 from entry to master # 10: Set the Set data type
又一位AI大佬辞职进体制内!AI的尽头是编制?
Why does APP use the JSON protocol to interact with the server: serialization related knowledge
How to get local json
你真的了解Redis的持久化机制吗?
边缘计算如何与小程序结合?智能家居如何借势发展?
随机推荐
ES6 from entry to master # 11: the Map data type
双线机房、多线机房、BGP机房的关系和对比
Micro combat | centralized configuration service center Config asymmetric encryption and security management
深度卷积生成对抗网络
【 LeetCode 】 217. Duplicate elements
53 LeetCode 】 【. Most architectural array and
一文详解8086微处理器系统结构
双非渣渣的上岸之路!备战 60 天,三战滴滴侥幸收获 Offer
bit field in c language
c#替换字符串中字符出现某次的字符
22届大专应届软件的同学你找到工作了吗
韦伯首批照片引发论文竞速大战:晚13秒即错失首发,科研党纷纷肝得起飞
Google Play 政策更新 | 2022 年 7 月
工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘
ES6 从入门到精通 # 10:Set 集合数据类型
I quit my job after cutting the brothers, and turned to do a small clerk
3C数码行业供应商管理方案——与供应商结为“成长共同体”
Contribution and writing required documents - OpenHarmony developer documentation style guide
I/O Code Practice
手摸手实现Canal如何接入MySQL实现数据写操作监听