mysql下载地址:https://downloads.mysql.com/archives/community/
Qt下载地址:http://download.qt.io/official_releases/qt/5.9/
问题描述:
(1)QSqlDatabase: QMYSQL driver not loaded
(2)QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
Qt连接数据库代码如下:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QtDebug>
void connect_mysql()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
db.setPort(3306); //连接数据库端口号,与设置一致
db.setDatabaseName("mydb"); //连接数据库名,与设置一致
db.setUserName("root"); //数据库用户名,与设置一致
db.setPassword("123"); //数据库密码,与设置一致
db.open();
if(!db.open())
{
qDebug() <<"不能连接"<<"connect to mysql error"<<db.lastError().text();
return ;
}
else
{
qDebug()<<"连接成功"<<"connect to mysql OK";
}
QSqlQuery query(db);
query.exec("select * from user_rule");
while(query.next()){
qDebug()<<query.value("name").toString();
}
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
connect_mysql();
return a.exec();
}
记得在 .pro中添加
QT += sql
这时候便会出现一开始提出的MySQL驱动加载失败问题。
问题解决:
只需将32位的mysql安装目录下(C:\Program Files(x86)\MySQL\MySQL Server 5.7\lib)的libmysql.dll与libmysql.lib放至(D:\Qt\Qt5.9.9\5.9.9\mingw53_32\bin)下即可。
不过如果安装的是64位的mysql就需要去下载对应的32位mysql libmysql.dll 与libmysql.lib