Qt连接MySQL数据库的步骤是什么
1.直接通过MySQL的驱动加载数据库1)所需代码QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL");db.setHostName("127.0.0.1");db.setPort(3306);db.setDatabaseName("数据库名");db.setUserName("用户名");db.setPassword("密码");boolok=db.open();if(ok){QMessageBox::information(this,"infor","s
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"<当然要在.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()<如果输出中含有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"<运行程序:

大功告成
3.qt通过ODBC操作数据库
1)查询数据
代码:
//查询数据库中所有表的名称
QStringList tables = db.tables();
foreach(QString table, tables)
qDebug()<
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()<<"更新成功!"<
本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
PDF转图片在线怎么用?资料整理的简单流程
2026-09-03 12:12
科大讯飞发布星火多模态大模型X2-VL,基于全国产算力训练
2026-08-25 16:21
雷军小米YU7装600斤车厘子慰问工程师被指违规 回应:封闭道路分装 交警称后排满载不合法
2026-08-25 15:23
Anthropic禁用Fable 5模型,亚马逊CEO贾西或是背后导火索
2026-08-25 14:58
长虹T06(双4G)忘了手机密码怎么办?
2026-08-25 13:40
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。


















