MySQL在Windows環(huán)境下如何使用Qt連接?

這篇文章主要介紹了windows 環(huán)境下使用 qt 連接 mysql的相關(guān)資料,需要的朋友可以參考下

如果應(yīng)用只需要連接遠(yuǎn)程數(shù)據(jù)庫,那么本地不需要mysql mysql,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 兩個(gè)動(dòng)態(tài)連接庫,把他們加入到 Qt安裝目錄5.9mingw53_32bin;默認(rèn) Qt 自帶已編譯好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路徑為 Qt安裝目錄5.9mingw53_32pluginssqldrivers );兩者如果配套就能成功地讓 Qt 連接上 MySQL。

(我安裝的Qt 版本是 Qt 5.9.0 mingw53_32,文章中提到的一些路徑是我本機(jī)上的路徑,需要進(jìn)行適當(dāng)修改)

一、測試 Qt 與 MySQL 是否能正常連接

假設(shè) Qt安裝目錄5.9mingw53_32bin? 下已加入了 libmysql.dll 和 libmysqld.dll,進(jìn)行以下測試。

?新建 Qt Widgets Application,修改 main.cpp 的代碼為:

?#include?"mainwindow.h"  ?#include?<qapplication>  ?#include?<qtsql>  ?#include?<qdebug>    ?int?main(int?argc,?char?*argv[])  ?{  ???QApplication?a(argc,?argv);  ???MainWindow?w;  ???w.show();    ???//建立連接  ???QSqlDatabase?db?=?QSqlDatabase::addDatabase("QMYSQL");  ???db.setHostName("localhost");  ???db.setPort(3306);  ???db.setDatabaseName("mysql");  ???db.setUserName("root");  ???db.setPassword("yourPassword");???//設(shè)置數(shù)據(jù)庫連接賬號(hào)的密碼  ???bool?ok?=?db.open();  ???if(ok)?qDebug()<p>?構(gòu)建并運(yùn)行項(xiàng)目,查看應(yīng)用程序輸出<br>如果輸出 OK,那到此為止了,Qt 與 MySQL 連接正常;如果輸出 False,不出意外是因?yàn)?libmysql.dll、libmysqld.dll 與 qsqlmysql.dll、qsqlmysqld.dll版本不匹配!需要對(duì) qsqlmysql.dll、qsqlmysqld.dll 進(jìn)行修改。</p> <p><strong>二、添加 MySQL 的libmysql.dll、libmysqld.dll</strong></p> <p>(注意:Qt msvc2015_64 可以使用32<br>位、64 位版本的 MySQL 文件,Qt mingw53_32 只能使用 32 位版本的MySQL 文件)<br>之前提到,如果應(yīng)用只需要連接遠(yuǎn)程數(shù)據(jù)庫,那么本地不需要安裝 MySQL,而只需要用到 MySQL 提供的動(dòng)態(tài)連接庫 libmysql.dll 和 libmysqld.dll。那么如果不安裝MySQL,怎么獲取那兩個(gè)動(dòng)態(tài)鏈接庫文件?可以這樣做:<br>?從已安裝了 MySQL 的機(jī)器上拷貝這兩個(gè)文件。<br>?本地臨時(shí)安裝 MySQL,然后保留下需要的文件,卸載 MySQL。</p> <p>安裝 MySQL 可以去官網(wǎng)下載安裝包,不過我不太喜歡這樣做,因?yàn)楝F(xiàn)在 MySQL 的安裝組件太多太雜,很多東西都是不必要。推薦去一些開源鏡像站上下載對(duì)應(yīng)版本,比如說 Tuna、USTC。臨時(shí)安裝 MySQL 之后先不急著卸載,后面編譯 MySQL <a href="http://www.php.cn/wiki/1160.html" target="_blank">mysql</a>會(huì)用到。</p> <p><strong>三、重新編譯 qsqlmysql.dll、qsqlmysqld.dll</strong></p> <p>編譯 Qt 關(guān)于 MySQL 的驅(qū)動(dòng)需要用到 Qt 的源碼,獲取 Qt 的源碼可以使用 MaintenanceTool.exe 下載 Src,編譯驅(qū)動(dòng)用到的工程文件路徑為 Qt安裝目錄5.9Srcqtbasesrcpluginssqldriversmysql 。源碼差不多有2G的大小,而編譯驅(qū)動(dòng)需要用到的工程文件大約幾十M,要是存儲(chǔ)空間和網(wǎng)速不給力,建議只下載<br>qtbase-opensource-src-5.9.0.zip,需要的工程在 qtbase-opensource-src-5.9.0srcpluginssqldriversmysql 。</p> <p>用 Qt 打開上面提到的編譯驅(qū)動(dòng)用到的工程文件,在 mysql.pro 末尾加上這兩句:<br>INCLUDEPATH += mysql安裝目錄include<br>LIBS += -Lmysql安裝目錄lib -llibmysql</p> <p>構(gòu)建并運(yùn)行項(xiàng)目會(huì)在 C 盤下生成 pluginssqldrivers 目錄,里面包含 qsqlmysql.dll、qsqlmysqld.dll 兩個(gè)文件,將它們復(fù)制一份覆蓋原先的兩個(gè)文件即可。再次進(jìn)行 Qt 與 MySQL 的連接測試,成功了沒有?<br></p></qdebug></qtsql></qapplication>

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享