仔细阅读,你会少走很多别人走过的弯路。
1. 下载Qt:https://download.qt.io/archive/qt/5.9/5.9.8/,建议用5.8.9版本的,我测试成功的都是5.9.8(注意这点很重要,下载的Qt和Mysql的位数一定要相同,要么都是X86的32位,要么都是X64的64位,不同位的话后面即使你把dll文件放对了位置也找不到数据库驱动)。下面是我Qt的安装包,你可以发现他是X86(32位)的。
不仅如此**:编译器的位数也得和Qt和Mysql位数一致。不然依旧找不到,编译器的话经测试MinGW32位的也可以**如图:
2. 下载Mysql:https://dev.mysql.com/downloads/windows/installer/8.0.html,注意:一般正常安装完成之后是64位的,所以需要再次打开安装包卸载64位的MySQL server然后重新安装32位的,如下图。
点完add之后,进行此步骤如下图。由于多半大家都会安装X86的Qt,所以安装mysql的时候要特别注意,到下面这一步的时候你要选低版本的mysql 5.7才有X86的,因为高版本现在mysql 8.0没有X86的,全是X64,不知道未来会不会有X86.下面附图一张。由于我是安装低版本了的,所以是灰的。
- 两个都下载完成之后,开始1.添加系统环境变量如下图添加的环境变量就是mysql的安装bin目录,2.将mysql的安装目录lib文件夹下的libmysql.dll放在Qt安装目录的bin目录下(如果你不知道安装目录在哪,很简单,电脑左下角搜索Qt或mysql,然后一直查看文件所在位置你就能找到安装目录,每个人安装目录不一样,按照我的方法就能查找到安装目录)。
4.
- 最后你使用Qt创建项目并运行下面的测试代码:
#ifndef TEST_H
#define TEST_H
#include <QSqlDatabase>
#include <QDebug>
bool connectionDatabes()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mysql");
db.setUserName("root");
db.setPassword("123456");
if(db.open())
{
qDebug() << "database is established!";
}
else
{
qDebug() << "build error!";
return false;
}
return true;
}
#endif // TEST_H
#include <QCoreApplication>
#include "test.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
connectionDatabes();
return 0;
}
最后结果:
出现这个就表示配置成功了!!如果应用程序输出这个:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
build error!
说明你的libmysql.dll要么没放对位置,要么Qt与mysql位数不同。