最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows 環(huán)境下使用 Qt 連接 MySQL

 更新時間:2017年07月16日 17:20:26   作者:日常__  
這篇文章主要介紹了Windows 環(huán)境下使用 Qt 連接 MySQL的相關(guān)資料,需要的朋友可以參考下

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

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

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

假設(shè) Qt安裝目錄\5.9\mingw53_32\bin\  下已加入了 libmysql.dll 和 libmysqld.dll,進行以下測試。

•新建 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ù)庫連接賬號的密碼
   bool ok = db.open();
   if(ok) qDebug()<<"OK";
   else qDebug()<<"False";

   return a.exec();
 }

•構(gòu)建并運行項目,查看應(yīng)用程序輸出
如果輸出 OK,那到此為止了,Qt 與 MySQL 連接正常;如果輸出 False,不出意外是因為 libmysql.dll、libmysqld.dll 與 qsqlmysql.dll、qsqlmysqld.dll版本不匹配!需要對 qsqlmysql.dll、qsqlmysqld.dll 進行修改。

二、添加 MySQL 的libmysql.dll、libmysqld.dll

(注意:Qt msvc2015_64 可以使用32
位、64 位版本的 MySQL 文件,Qt mingw53_32 只能使用 32 位版本的MySQL 文件)
之前提到,如果應(yīng)用只需要連接遠程數(shù)據(jù)庫,那么本地不需要安裝 MySQL,而只需要用到 MySQL 提供的動態(tài)連接庫 libmysql.dll 和 libmysqld.dll。那么如果不安裝MySQL,怎么獲取那兩個動態(tài)鏈接庫文件?可以這樣做:
•從已安裝了 MySQL 的機器上拷貝這兩個文件。
•本地臨時安裝 MySQL,然后保留下需要的文件,卸載 MySQL。

安裝 MySQL 可以去官網(wǎng)下載安裝包,不過我不太喜歡這樣做,因為現(xiàn)在 MySQL 的安裝組件太多太雜,很多東西都是不必要。推薦去一些開源鏡像站上下載對應(yīng)版本,比如說 Tuna、USTC。臨時安裝 MySQL 之后先不急著卸載,后面編譯 MySQL 驅(qū)動會用到。

三、重新編譯 qsqlmysql.dll、qsqlmysqld.dll

編譯 Qt 關(guān)于 MySQL 的驅(qū)動需要用到 Qt 的源碼,獲取 Qt 的源碼可以使用 MaintenanceTool.exe 下載 Src,編譯驅(qū)動用到的工程文件路徑為 Qt安裝目錄\5.9\Src\qtbase\src\plugins\sqldrivers\mysql\ 。源碼差不多有2G的大小,而編譯驅(qū)動需要用到的工程文件大約幾十M,要是存儲空間和網(wǎng)速不給力,建議只下載
qtbase-opensource-src-5.9.0.zip,需要的工程在 qtbase-opensource-src-5.9.0\src\plugins\sqldrivers\mysql\ 。

用 Qt 打開上面提到的編譯驅(qū)動用到的工程文件,在 mysql.pro 末尾加上這兩句:
INCLUDEPATH += mysql安裝目錄\include
LIBS += -Lmysql安裝目錄\lib\ -llibmysql

構(gòu)建并運行項目會在 C 盤下生成 plugins\sqldrivers 目錄,里面包含 qsqlmysql.dll、qsqlmysqld.dll 兩個文件,將它們復(fù)制一份覆蓋原先的兩個文件即可。再次進行 Qt 與 MySQL 的連接測試,成功了沒有?

相關(guān)文章

  • C?語言實現(xiàn)猜數(shù)字小游戲完整示例代碼

    C?語言實現(xiàn)猜數(shù)字小游戲完整示例代碼

    這篇文章主要介紹了如何使用C語言生成1到100之間的隨機數(shù),并提供了一個簡單的猜數(shù)字游戲的實現(xiàn)代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • C/C++實現(xiàn)監(jiān)控目錄文件變化

    C/C++實現(xiàn)監(jiān)控目錄文件變化

    ReadDirectoryChangesW是Windows操作系統(tǒng)提供的一個函數(shù),用于監(jiān)視目錄的變化,本文主要為大家介紹了如何使用ReadDirectoryChangesW實現(xiàn)監(jiān)控目錄文件變化,需要的可以參考下
    2023-11-11
  • VScode搭建C/C++開發(fā)環(huán)境的詳細過程

    VScode搭建C/C++開發(fā)環(huán)境的詳細過程

    最近迷上了vscode,小巧美觀,最主要的是全平臺,但是vscode并不是ide,必須得自己配置環(huán)境,下面這篇文章主要給大家介紹了關(guān)于VScode搭建C/C++開發(fā)環(huán)境的詳細過程,需要的朋友可以參考下
    2023-06-06
  • C/C++中如何判斷某一文件或目錄是否存在

    C/C++中如何判斷某一文件或目錄是否存在

    以下文章是對C/C++中判斷某一文件或目錄是否存在的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友可以參考下
    2013-07-07
  • C++類與對象之運算符重載詳解

    C++類與對象之運算符重載詳解

    運算符重載的方法是定義一個重載運算符的函數(shù),在需要執(zhí)行被重載的運算符時,系統(tǒng)就自動調(diào)用該函數(shù),以實現(xiàn)相應(yīng)的運算。也就是說,運算符重載是通過定義函數(shù)實現(xiàn)的
    2021-10-10
  • C++ Boost PropertyTree解析INI文件詳解

    C++ Boost PropertyTree解析INI文件詳解

    Boost PropertyTree庫不僅可以解析JSON,XML格式,還可以直接解析INI格式文件。這篇文章就是為大家介紹一下如何通過Boost PropertyTree解析INI文件,需要的可以參考一下
    2022-01-01
  • C/C++讀取大文件數(shù)據(jù)方式詳細講解

    C/C++讀取大文件數(shù)據(jù)方式詳細講解

    這篇文章主要介紹了C語言/C++讀取大文件數(shù)據(jù)的完整方式過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • C++實現(xiàn)數(shù)獨快速求解

    C++實現(xiàn)數(shù)獨快速求解

    這篇文章主要為大家詳細介紹了C++實現(xiàn)數(shù)獨快速求解的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Qt中集成并使用SQLite數(shù)據(jù)庫的超完整指南

    Qt中集成并使用SQLite數(shù)據(jù)庫的超完整指南

    這篇文章主要介紹了Qt中集成并使用SQLite數(shù)據(jù)庫的相關(guān)資料,包括環(huán)境配置、連接數(shù)據(jù)庫、執(zhí)行SQL操作、事務(wù)處理、使用模型-視圖編程、錯誤處理、高級技巧與注意事項以及常見問題解答,需要的朋友可以參考下
    2025-04-04
  • C++深入探究二階構(gòu)造模式的原理與使用

    C++深入探究二階構(gòu)造模式的原理與使用

    C++中經(jīng)常會因為調(diào)用系統(tǒng)資源失敗導(dǎo)致出現(xiàn)BUG,所以在類調(diào)用構(gòu)造函數(shù)需要分配系統(tǒng)資源時會出現(xiàn)BUG,從而導(dǎo)致類對象雖然被創(chuàng)建,但是只是個半成品,為了避免這種情況需要使用二階構(gòu)造模式
    2022-04-04

最新評論

达日县| 涡阳县| 仪陇县| 海林市| 读书| 林甸县| 秦皇岛市| 桂平市| 亳州市| 锡林郭勒盟| 长岛县| 宁武县| 南陵县| 崇左市| 宝鸡市| 新巴尔虎右旗| 鄂伦春自治旗| 隆安县| 黔西县| 白朗县| 伽师县| 孟村| 松原市| 喀喇沁旗| 盐山县| 鞍山市| 从江县| 临夏市| 安泽县| 炎陵县| 云和县| 子长县| 江孜县| 蕲春县| 额尔古纳市| 威宁| 邹平县| 枣庄市| 定兴县| 梅州市| 都昌县|