服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - QT连接Mysql数据库的详细教程(亲测成功版)

QT连接Mysql数据库的详细教程(亲测成功版)

2023-05-12 14:19程序有序 Mysql

被Qt连接数据库折磨了三天之后终于连接成功了,记录一下希望对看到的人有所帮助,下面这篇文章主要给大家介绍了关于QT连接Mysql数据库的详细教程,文中通过图文介绍的非常详细,需要的朋友可以参考下

前言

QT连接Mysql数据库步骤相对比较麻烦,因此写了篇文章将详细过程呈现给大家。

方法一、直接通过MySQL的驱动加载数据库

示例代码:

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

?
1
QT +=sql

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

?
1
#include<QSqlDatabase>

 (3)在main.cpp文件中添加下列代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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成功则输出下面结果:

QT连接Mysql数据库的详细教程(亲测成功版)

如果连接Mysql失败则输出:

QT连接Mysql数据库的详细教程(亲测成功版)

 如果连接Mysql失败也不用太灰心,方法一在初次连接时很多情况下都会出错。下面我们来看看第二种成功率更高的连接方法。

方法二、通过ODBC连接MySQL数据库

1.下载地址

ODBC下载官网

(1)选择适合自己QT版本的ODBC版本。

具体如何查看自己QT是多少位的,可以通过QT软件上方的菜单栏  帮助->About QT Creator 查看位数

QT连接Mysql数据库的详细教程(亲测成功版)

(2)点击DownLoad后会进入下面的界面

QT连接Mysql数据库的详细教程(亲测成功版)

 点击No thanks,just start my download即可下载,不用点击上面的登录按钮,否则会有繁琐的登录步骤。

(3)下载完ODBC后,双击安装,一直点next即可完成安装。

QT连接Mysql数据库的详细教程(亲测成功版)

(4)安装之后在电脑左下角的搜索栏中输入ODBC即可查看安装后的ODBC

QT连接Mysql数据库的详细教程(亲测成功版)

(5)点击添加按钮添加用户DSN.

QT连接Mysql数据库的详细教程(亲测成功版)

(6)点击MYSQL ODBC 8。0 ANSI Driver。

QT连接Mysql数据库的详细教程(亲测成功版)

(7)这里的内容按照下面提示对应填好即可。

QT连接Mysql数据库的详细教程(亲测成功版)

(8)完成Mysql的添加后,可以点击Test按钮测试一下能否连接。

QT连接Mysql数据库的详细教程(亲测成功版)

2.ODBC连接代码

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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数据库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qwpo135790/article/details/124106176

延伸 · 阅读

精彩推荐
  • MysqlMySQL添加字段和修改字段的方法

    MySQL添加字段和修改字段的方法

    MySQL数据库系统相信大家都比较熟悉了,下文对添加字段和修改字段的方法作了详细的说明,供您参考学习之用。...

    服务器之家7592022-02-20
  • Mysqlsysbench对mysql压力测试的详细教程

    sysbench对mysql压力测试的详细教程

    众所周知sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。下面这篇文章就来详细介绍s...

    MYSQL教程网2852020-06-26
  • Mysqlmysql server is running with the --skip-grant-tables option

    mysql server is running with the --skip-grant-tables option

    今天在mysql中新建数据库提示The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement,原来是数据中配置的--skip-grant-tables,这样安全就...

    MYSQL教程网3482020-08-04
  • MysqlMySQL 8.0 之不可见列的基本操作

    MySQL 8.0 之不可见列的基本操作

    MySQL8.0.23之后引入了不可见列,今天我们来说说这个特性的基本使用,感兴趣的朋友可以了解下...

    DBA随笔10182021-07-18
  • MysqlMySQL优化SQL语句的技巧

    MySQL优化SQL语句的技巧

    这篇文章主要介绍了常见优化SQL语句的技巧,帮助大家更好的提高数据库的性能,感兴趣的朋友可以了解下...

    xcbeyond11612021-01-27
  • MysqlCentos7下mysql 8.0.15 安装配置图文教程

    Centos7下mysql 8.0.15 安装配置图文教程

    这篇文章主要为大家详细介绍了Centos7下mysql 8.0.15 安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    一路北上!3782020-09-18
  • Mysqlmysql-canal-rabbitmq 安装部署超详细教程

    mysql-canal-rabbitmq 安装部署超详细教程

    这篇文章主要介绍了mysql-canal-rabbitmq 安装部署超详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考...

    Memento5372021-04-21
  • Mysqlmysql常用命令汇总介绍

    mysql常用命令汇总介绍

    本文给大家汇总了一下mysql常用的命令行指令,包括设置更改mysqlroot密码,连接mysql等,非常的细致全面,并附上运行效果截图,希望大家能够喜欢 ...

    非此即彼4782020-08-28