vs2017中Qt數據庫連接


配置環境變量,

把qt的msvc2017_64的bin目錄添加至環境變量(具體我就不累贅了,就是那個path)

新建Qt項目

 

 

 

 

 

 點擊Finish

然后找到main.cpp,進行編輯,代碼如下

 1 #include "test.h"
 2 #include<QtWidgets/QApplication>
 3 #include<qsqldatabase.h>
 4 #include<qmessagebox.h>
 5 #include<qdebug.h>
 6 #include<qsqlerror.h>
 7 int main(int argc, char *argv[])  8 {  9  QApplication a(argc, argv); 10     /*test w; 11  w.show(); 12     */
13     qDebug() << QSqlDatabase::drivers(); 14     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); 15     db.setDatabaseName("test"); 16     db.setHostName("localhost"); 17     db.setUserName("root"); 18     db.setPassword("root"); 19     db.setPort(3306); 20     if (db.open()) { 21         QMessageBox::warning(NULL, QString("Tip"), QString("success"), QMessageBox::Yes); 22         return -1; 23  } 24     else { 25         QMessageBox::critical(0, QObject::tr("fail"), db.lastError().databaseText(), QMessageBox::Cancel); 26         return 0; 27  } 28     //return a.exec();
29 }

要特別注意db.setPassword里面的密碼要和navicat里面設置的密碼保持一致,不然會有如下結果:

 

 把項目屬性設置一下:

 

然后順着Qt安裝目錄找到這個mysql.pro,

 

 

 

選擇編譯器后點擊Configure Project

 

 

指定mysql鏈接庫:

 

 

將生成路徑(mysql/lib)下剛剛生成的驅動文件qsqlmysql.dllqsqlmysqld.dll

拷貝至msvc2017_64的驅動文件夾,替換原本的驅動,如下圖:

 

 

 

 理論上是可以生成那兩個dll的,但是我搞了半天也沒有生成,最后拿了別人生成成功的那兩個dll...這里我也卡住了

最后加載驅動,將mysql解壓目錄lib目錄下的libmysql.dll拷貝至msvc2017_64bin目錄下

 

 

 

 編譯運行:

 

 成功了!

**我搞了一天,百度了很久,最后還是沒有生成那兩個dll,還是拿了別人生成成功的,然后把數據庫的那個dll加進來,即使是這樣也不一定成功,

因為我之前疏忽導致環境變量沒配好,期間我重裝了兩次Qt,最后頑強的連接上了,搞了一天,整個人都不好了,快崩潰了,總之這3個dll要搞到位,

環境變量也要配好,連接數據庫的代碼也要注意**

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM