被Qt连接数据库折磨了三天之后终于连接成功了,记录一下希望对看到的人有所帮助,下面这篇文章主要给大家介绍了关于QT连接Mysql数据库的详细教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
前言
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数据库
1.下载地址
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数据库的步骤相对繁琐,但是也是一个不错的学习经历。
到此这篇关于QT连接Mysql数据库的文章就介绍到这了,更多相关QT连接Mysql数据库内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:QT连接Mysql数据库的详细教程(亲测成功版)
基础教程推荐
- redis乐观锁与悲观锁的实战 2023-07-13
- redis 数据库 2023-09-13
- Mariadb数据库主从复制同步配置过程实例 2023-07-25
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- oracle数据库排序后如何获取第一条数据 2023-07-24
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- oracle19c卸载教程的超详细教程 2023-07-23
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11