文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

Qt连接MySQL数据库的步骤是什么

2023-07-06 04:31

关注

本篇内容介绍了“Qt连接MySQL数据库的步骤是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

如果显示:

Qt连接MySQL数据库的步骤是什么

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

如果显示:

Qt连接MySQL数据库的步骤是什么

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

Qt连接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驱动了:

Qt连接MySQL数据库的步骤是什么

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

Qt连接MySQL数据库的步骤是什么

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

2.通过ODBC连接MySQL数据库

1)官方解释:

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

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

Qt连接MySQL数据库的步骤是什么

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

2)下载ODBC

官网

Qt连接MySQL数据库的步骤是什么

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

Qt连接MySQL数据库的步骤是什么

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

Qt连接MySQL数据库的步骤是什么

下载一直点击next即可:

Qt连接MySQL数据库的步骤是什么

查看点击小娜,搜索ODBC,

Qt连接MySQL数据库的步骤是什么

3)连接MySQL数据库

i添加MySQL的DSN

Qt连接MySQL数据库的步骤是什么

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

Qt连接MySQL数据库的步骤是什么

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

Qt连接MySQL数据库的步骤是什么

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();    }

运行程序:

Qt连接MySQL数据库的步骤是什么

大功告成

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数据库的步骤是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯