QT MySQL 连接出错报 QSqlDatabase: QMYSQL driver not loaded
QT连接MySQL失败(本人QT版本:5.12.5)
一、报错结果
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
二、报错原因
- 缺少MySQL驱动(qsqlmysql.dll,qsqlmysql.dll)
- 有时候有驱动但缺少库(libmysql.lib)
三、解决方法
这里本人只提供一种相对简单的解决方法,不需要将 qsqlmysql.dll,qsqlmysql.dll,libmysql.lib这三个文件找过来找过去,复制来复制去的,有的还找不到,不方便。
步骤一:下载ODBC(作用类似于中间件,作为连接 qt 与 Mysql 之间的桥梁)
官网:https://dev.mysql.com/downloads/connector/odbc/
步骤二:安装ODBC
双击运行,点击next --> I Agree --> next --> ...就是正常安装,默认就行
步骤三:运行ODBC
3.1、如果各位MYSQL数据库里面已经有建好的数据库的话,那就更简单了,下面是本人MYSQL数据库里面的内容;下图图中里面的红字标注,可以先不管
3.2、点击 “开始” --> 搜索 “ODBC” --> 即可找到刚刚安装的ODBC程序 --> 点击运行 (如果想要新建数据库的话,那直接从3.2开始)
3.3、运行 ODBC 数据源
3.4、点击完成后,出现下面界面,大家跟着填好就行,非常简单
3.5、至此那就OK了,接下来在QT中测试连接MYSQL数据库
步骤四:QT中测试连接MYSQL数据库
4.1、正常创建一个QT工程
4.2、先打开 xx.pro
1 | QT += sql |
4.3、打开 main.cpp ,按着我的填就可以了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include "widget.h" #include <QApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QDebug> #include <QSqlError> int main( int argc, char *argv[]) { QApplication a(argc, argv); // Widget w; QSqlDatabase db = QSqlDatabase::addDatabase( "QODBC" ); db.setHostName( "127.0.0.1" ); // db.setHostName("localhost"); // 也可以 db.setDatabaseName( "你的" ); // 对应 Data Source Name 里面的内容 db.setUserName( "你的用户名" ); db.setPassword( "你的密码" ); db.setPort(3306); // 如果没有修改过端口号的话,那就可写可不写 bool ok = db.open(); if (ok){ qDebug() << "数据库打开成功!" ; } else { qDebug() << "数据库打开失败" ; qDebug() << "error open database because" << db.lastError().text(); } // w.show(); return a.exec(); } |
4.4、ctrl + R 运行程序
是不是很简单,记得点个赞吧,谢谢啦!!!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
2022-02-24 java 中都有哪些引用类型?