我的编程空间,编程开发者的网络收藏夹
学习永远不晚

可能是全网最详细的Qt连接MySQL数据库教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

可能是全网最详细的Qt连接MySQL数据库教程

被Qt连接数据库折磨了三天之后终于连接成功了,记录一下希望对看到的人有所帮助。

1.直接通过MySQL的驱动加载数据库

1)所需代码

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", "success");
    }
    else {
        QMessageBox::information(this, "infor", "open failed");
        qDebug()<<"error open database because"<<db.lastError().text();
    }

当然要在.pro文件中添加一行引入

QT += sql

如果显示:

那么恭喜你太幸运了,你已经成功连接MySQL数据库了,快去使用吧。

如果显示:

也不要灰心接着往下看我的电脑就一直显示失败

没有QMYSQL的驱动,这是怎么回事呢?

2)解决QMYSQL driver not loaded

Qt连接到mysql的过程:app->Qt的数据库插件->mysql动态库->mysql服务。

Qt的数据库插件位于“C:\Qt(安装路径)(Qt版本)\版本号(库)\mingw49_32(编译器)\plugins(插件)\sqldrivers(数据库插件)” 下的qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用).

mysql动态库位于“C:\Qt\MySQLServer5.5(mysql安装路径)\lib”下的“libmysql.dll“

i:将mysql下的ilbmysql.lib和libmysql.dll复制到Qt的bin目录下
ii:查看自己的qt中有没有qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用)

如果都有:

运行一下代码:

//输出可用数据库
    qDebug()<<"available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug()<<driver;

如果输出中含有MySQL,那么恭喜你说明你的qt有MySQL驱动了:

如果没有,不要灰心,因为我的就是一直没有MySQL驱动:

大家可以重新下载一些不同的版本尝试一下,我尝试了无数次后不得不放弃,就选择了另一条路,通过ODBC连接MySQL数据库。

2.通过ODBC连接MySQL数据库

1)官方解释:

ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问数据库管理系统(DBMS)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。

简单的说就是我的qt中含有ODBC的驱动:

所以利用ODBC去使用MySQL的数据库.

2)下载ODBC

官网

选择和qt编译器相同的字节比如我的qt使用的是64字节的

下载的ODBC选择的也是64字节的,选择MSI类型的直接安装就可以

下载一直点击next即可:

查看点击小娜,搜索ODBC,

3)连接MySQL数据库

i添加MySQL的DSN

红色的可以随便填,是自己对于ODBC驱动的描述,粉色的是MySQL的用户名和密码,数据库选择你在MySQL中创建的数据库名字即可.

点击test如果出现下图说明连接成功

4)qt通过ODBC连接MySQL

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("是你在ODBC中创建的Data source name");
    db.setUserName("用户名");
    db.setPassword("密码");
    bool ok = db.open();
    if (ok){
        QMessageBox::information(this, "infor", "success");
    }
    else {
        QMessageBox::information(this, "infor", "open failed");
        qDebug()<<"error open database because"<<db.lastError().text();
    }

运行程序:

大功告成

3.qt通过ODBC操作数据库

1)查询数据

代码:

//查询数据库中所有表的名称
    QStringList tables = db.tables();
    foreach(QString table, tables)
        qDebug()<<table;

//ODBC查询数据
    QSqlQuery result = db.exec(" select * from users");
    while(result.next()){
        qDebug()<<"user_id:"<<result.value("user_id").toInt();
        qDebug()<<"name:"<<result.value("name").toString();
        qDebug()<<"password:"<<result.value("password").toString();
        qDebug()<<"score:"<<result.value("score").toInt()<<endl;
    }

2)插入数据

//ODBC插入数据
    result.clear();
    bool result_successed = result.exec("insert into users(name,password,score) values ( 'joe2y','123456',0)");

    if(result_successed){
        qDebug()<<"插入成功!";
    }else {
        qDebug()<<"插入失败!";
}

3)更新数据

//ODBC更新数据
    result.clear();
    bool result_successed2 = result.exec("update users set score=10 where user_id=2");

    if(result_successed2){
        qDebug()<<"更新成功!"<<endl;
    }else{
        qDebug()<<"更新失败!"<<endl;
    }

总结

到此这篇关于Qt连接MySQL数据库的文章就介绍到这了,更多相关Qt连接MySQL数据库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

可能是全网最详细的Qt连接MySQL数据库教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

可能是全网最详细的Qt连接MySQL数据库教程

QT众所周知是一个开源的,以C++为底层的可视化工具库,下面这篇文章主要给大家介绍了关于最详细的Qt连接MySQL数据库教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2023-05-16

QT连接MYSQL数据库的详细过程

这篇文章主要介绍“QT连接MYSQL数据库的详细过程”,在日常操作中,相信很多人在QT连接MYSQL数据库的详细过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT连接MYSQL数据库的详细过程”的疑惑有所
2023-06-20

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

目录前言方法一、直接通过mysql的驱动加载数据库方法二、通过ODBC连接MySQL数据库1.下载地址2.ODBC连接代码总结前言QT连接Mysql数据库步骤相对比较麻烦,因此写了篇文章将详细过程呈现给大家。方法一、直接通过MySQL的
2023-05-12

MySQL | JDBC连接数据库详细教程【全程干货】

文章目录 一、什么是JDBC?二、JDBC工作原理三、使用JDBC连接MySQL数据库【✔】1、安装对应数据驱动包2、将jar包导入项目中3、编写代码连接数据库【⭐】1️⃣ 创建数据源2️⃣ 和数据库建立网络连接3️⃣ 构造SQL
2023-08-20

IDEA连接Mysql数据库的详细图文教程

项目开发时使用IntellijIDEA连接本地数据库,将数据库可视化,还可对数据库表直接进行增删改查操作,方便快捷又清晰,下面这篇文章主要给大家介绍了关于IDEA连接Mysql数据库的详细图文教程,需要的朋友可以参考下
2023-03-06

可能是全网最详细小程序中使用echarts的教程

在开发微信小程序时,有需求需要使用到柱状图,饼图等图表,下面这篇文章主要给大家介绍了关于小程序中使用echarts的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2022-11-13

SPSS连接mysql数据库的超详细操作教程

目录安装mysql ODBC驱动SPSS连接MySQL数据库的步骤总结安装MySQL ODBC驱动官方说法:MySQL ODBC 驱动程序负责在开放式数据库连接 API (ODBC API) 的帮助下访问 MySQL数据库通俗php说法:
2023-02-28

QT连接MySql数据库失败,编译驱动问题,最详细解决办法

各位读者你们好🔥 此篇是本专栏的第一篇,本专栏专门收录在学习过程中遇到的环境配置、软件问题等开发环境方面的问题。🚀🚀🚀 刚刚转阴就迫不及待的赶紧写一篇博客来解决一直落
2023-08-19

idea连接SQL Server数据库的详细图文教程

目录数据库配置idea连接数据库错误分析总结数据库配置1.安装数据库:自行安装 我的SQL Server版本为2019 2.登录数据库,登陆方式有两种,连接数据库选择SQLServer身份验证1.Windows登录,直接
2022-12-28

Visual Studio2022连接SQL Server数据库的详细图文教程

目录一、软件准备1. 安装Visual Studio2022二、环境配置1. 创建数据库2. 利用ODBC建立连接三、连接数据库1. Visual Studio2022测试连接数据库总结本文基于Visual Studio2022和SQL S
2023-06-11

编程热搜

目录