qt首次連接MYSQL驅(qū)動(dòng)的各種問題圖文詳解
一、在mySql安裝目錄的lib目錄下,獲取兩個(gè)文件
這里MYSQL的安裝地址是:D:\Program Files\MySQL\MySQL Server 5.5\lib
獲取這兩個(gè)文件,將它復(fù)制到QT安裝目錄下bin文件夾中:
這里的QT安裝目錄在:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\bin
二、查看QMYSQL驅(qū)動(dòng)
如果在QT安裝目錄下沒有qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用)這兩個(gè)文件。(如果有,可以跳過第三節(jié)的內(nèi)容了)
這里的查看路徑是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers
三、解決qt沒有QMYSQL驅(qū)動(dòng)問題
3.1 下載64位的MySQL Community Server
下載地址:MySQL :: Download MySQL Community Server
下載完成后解壓(不安裝)
解壓后的內(nèi)容如下圖:
3.2 編輯mysql.pro文件
該文件在當(dāng)前qt安裝目錄下。
本文mysql.pro路徑為:D:\Qt1\Qt5.12.6\5.12.6\Src\qtbase\src\plugins\sqldrivers\mysql
用QtCreate打開編輯.pro文件
添加修改如下命令:
1、一定要屏蔽QMAKE_USE += mysql,如果不屏蔽會提示mysql庫不存在。
注釋代碼:#QMAKE_USE += mysql
2、添加代碼:INCLUDEPATH += "D:\Qt1\mysql-8.0.26-winx64\include"
該路徑是剛才下載解壓備用的mysql的頭文件路徑
3、添加代碼:LIBS += "D:\Qt1\mysql-8.0.26-winx64\lib\libmysql.lib"
該路徑是剛才下載解壓備用的mysql的庫文件路徑
4、添加代碼:DESTDIR = ../mysql/lib/
為了方便查找將來編譯好的庫文件,添加這個(gè)語句用來指明編譯后的結(jié)果輸出的位置
添加完成后,開始編譯構(gòu)建
等待右下方構(gòu)建完畢后,在mysql.pro文件目錄下,會多出一個(gè)lib文件夾
將這個(gè)文件夾中的所有內(nèi)容復(fù)制到QT安裝目錄下的sqldrivers文件夾中
當(dāng)前文檔路徑是:D:\Qt1\Qt5.12.6\5.12.6\mingw73_64\plugins\sqldrivers
四、測試連接
4.1 輸出可用數(shù)據(jù)庫
qDebug() << "available drivers: "; QStringList drivers = QSqlDatabase::drivers(); foreach (QString driver, drivers) { qDebug() << driver; }
當(dāng)運(yùn)行結(jié)果出現(xiàn)QMYSQL時(shí),你就大功告成了!
4.2 連接數(shù)據(jù)庫
//連接數(shù)據(jù)庫 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setPort(3306); db.setDatabaseName("planedb"); db.setUserName("root"); db.setPassword("123456"); bool ok = db.open(); if(ok) { QMessageBox::information(this, "infor", "success"); } else { QMessageBox::information(this, "infor", "open failed"); qDebug() << "error open database because" << db.lastError().text(); }
編譯運(yùn)行后,出現(xiàn)success的對話框。
完美收官!
參考鏈接:
Qt連接MySQL數(shù)據(jù)庫最詳細(xì)的教程
QT出現(xiàn)沒有MySQL驅(qū)動(dòng),手動(dòng)編譯步驟
總結(jié)
到此這篇關(guān)于qt首次連接MYSQL驅(qū)動(dòng)的各種問題的文章就介紹到這了,更多相關(guān)qt首次連接MYSQL驅(qū)動(dòng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用集合(HashSet)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11詳解C++模擬實(shí)現(xiàn)priority_queue(仿函數(shù))
本文主要介紹了關(guān)于C++中優(yōu)先級隊(duì)列的模擬實(shí)現(xiàn),以及仿函數(shù)的使用,優(yōu)先級隊(duì)列是一種容器適配器,其第一個(gè)元素總是最大的,仿函數(shù)本質(zhì)是一個(gè)類,重載了operator(),可改變比較邏輯,同時(shí),文中還介紹了如何進(jìn)行類的比較,如日期類或其指針的比較,以及庫中sort函數(shù)的使用方法2024-10-10C語言實(shí)現(xiàn)散列表(哈希Hash表)實(shí)例詳解
這篇文章主要介紹了C語言實(shí)現(xiàn)散列表(哈希Hash表)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06C++LeetCode數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)詳解
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode數(shù)據(jù)結(jié)構(gòu),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08