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/
![](https://img-blog.csdnimg.cn/img_convert/43020f281a2d75a2be7ed3ea318d585e.png)
![](https://img-blog.csdnimg.cn/img_convert/eb9ebe6bc6a01da755832259621ece9c.png)
步骤二:安装ODBC
双击运行,点击next --> I Agree --> next --> ...就是正常安装,默认就行
步骤三:运行ODBC
3.1、如果各位MYSQL数据库里面已经有建好的数据库的话,那就更简单了,下面是本人MYSQL数据库里面的内容;下图图中里面的红字标注,可以先不管
![](https://img-blog.csdnimg.cn/img_convert/c80937f132c08692a877f096caa5ca06.png)
3.2、点击 “开始” --> 搜索 “ODBC” --> 即可找到刚刚安装的ODBC程序 --> 点击运行 (如果想要新建数据库的话,那直接从3.2开始)
![](https://img-blog.csdnimg.cn/img_convert/57d14d57dab135eca1bd805348407cae.png)
3.3、运行 ODBC 数据源
![](https://img-blog.csdnimg.cn/img_convert/4805cf5f2c5d33ffb85fac4643a59049.png)
3.4、点击完成后,出现下面界面,大家跟着填好就行,非常简单
![](https://img-blog.csdnimg.cn/img_convert/047f12f2670420ed19ce0c912016e680.png)
3.5、至此那就OK了,接下来在QT中测试连接MYSQL数据库
步骤四:QT中测试连接MYSQL数据库
4.1、正常创建一个QT工程
![](https://img-blog.csdnimg.cn/img_convert/17fd84b6f5efe4c2f8ac7512dcf78efc.png)
4.2、先打开 xx.pro
QT += sql
4.3、打开 main.cpp ,按着我的填就可以了
#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 运行程序
![](https://img-blog.csdnimg.cn/img_convert/9075b53615b10b9d9eb4c7a6caeb8881.png)
是不是很简单,记得点个赞吧,谢谢啦!!!