QT連接MySQL失敗(本人QT版本:5.12.5) 一、報錯結果 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 二、報錯原因 缺少M ...
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
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 運行程式
是不是很簡單,記得點個贊吧,謝謝啦!!!