錯誤資訊提示
QSqlDatabase: QMYSQL driver not loaded //無法加載驅動
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
解決方式
補充注:1.MySQL的安裝路徑不能有空格,搞了我半天之前。2.在你項目的pro檔案中加一行
QT +=sql
開始之前先說明一下我的工具版本,我用的是Qt 5.12.2、MySQL 8.0.21 64位版本。其中Qt安裝時的勾選條目如下:

- 打開檔案:
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題
#鍵入以下代碼,可直接複制
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
win32:LIBS += -LD:/application/MySQL/lib/ -llibmysql #注意是你自己MySQL的路徑
INCLUDEPATH += D:/application/MySQL/include #下同
DEPENDPATH += D:/application/MySQL/include
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
- 上面的三個路徑就是你自己的MySQL中的bin和include
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 -
Qt連接配接MySQL的問題 - 輸入如下代碼測試
#include <QApplication>
#include<QMessageBox>
#include<QSqlDatabase>
#include<QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
//打開MySQL
QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");
data_base.setHostName("localhost"); //設定主機位址
data_base.setPort(3306); //設定端口
data_base.setDatabaseName("test"); //設定資料庫名稱
data_base.setUserName("root"); //設定使用者名
data_base.setPassword("123456"); //設定密碼
if(!data_base.open())
qDebug()<<"failed to connect to mysql";
else
qDebug()<<"success";
return a.exec();
}
成功通路資料庫!