Qt5.9連線MySql5.7.17錯誤解決辦法(錯誤提示:QMYSQL driver not loaded)
1.1程式碼如下:(記得在.pro問價裡面新增QT+=sql)
#include<QCoreApplication>
#include<QSqlDriver>
#include<QSqlDatabase>
#include<QSqlQuery>
#include<QDebug>
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
//連線資料庫
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"
db.setDatabaseName("mqtt");
db.setUserName("admin");
db.setPassword("admin");
if(!db.open())
qDebug()<<"Failedtoconnecttorootmysqladmin";
else qDebug()<<"opensuccess!";
return a.exec();
}
1.2 具體的錯誤如下:(錯誤提示:QMYSQL driver not loaded)
1.3錯誤原因分析
我在網上查找了許多教程和解決辦法,但是都沒有解決這個錯誤。其實準確來說,網上那些解決辦法應該是可行的,但是沒有詳細解釋清楚。而我用Qt5.9之所以連線不上MySql5.7.17,是因為我用的是64位的libmysql.dll,而不是32位的libmysql.dll。所以,無論我怎麼折騰,就是連線不上。因為Qt5.9有自帶的Mysql驅動,不需要手動編譯。所以我們只需要做的步驟是,找到libmysql.dll和libmysql.lib這兩個檔案,將它們複製到安裝Qt目錄的bin資料夾下就行,其它的操作不需要了,具體的操作步驟參考下面的1.4小節。
1.4.1在如下地址,下載libmysql.dll和libmysql.lib兩個檔案(都在壓縮包libmysql_win32(32位libmysql.dll)裡面,直接下載解壓就行)。當然,也可以在MySql官網下載。
http://download.csdn.net/download/naibozhuan3744/10184187
1.4.2將解壓出來的libmysql.dll和libmysql.lib檔案,複製到Qt的安裝目錄bin下,如下圖所示:
下載解壓的libmysql.dll和libmysql.lib檔案
複製到安裝Qt5.9時的bin目錄下
1.4.3程式編譯執行後的結果,如下圖所示
由上圖結果可知,解決Qt5.9連線MySql5.7.17沒有驅動錯誤時,只需要用32位的libmysql.dll和libmysql.lib兩個檔案,放入安裝Qt5.9時的目錄bin下就可以正確解決該錯誤。
參考內容:http://download.csdn.net/download/naibozhuan3744/10184187
http://bbs.csdn.net/topics/392193439
http://www.cnblogs.com/foxhengxing/archive/2011/05/24/2055622.html