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

可能是全網(wǎng)最詳細的Qt連接MySQL數(shù)據(jù)庫教程

 更新時間:2023年04月15日 10:03:13   作者:joey小天使  
QT眾所周知是一個開源的,以C++為底層的可視化工具庫,下面這篇文章主要給大家介紹了關于最詳細的Qt連接MySQL數(shù)據(jù)庫教程的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

被Qt連接數(shù)據(jù)庫折磨了三天之后終于連接成功了,記錄一下希望對看到的人有所幫助。

1.直接通過MySQL的驅動加載數(shù)據(jù)庫

1)所需代碼

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("數(shù)據(jù)庫名");
    db.setUserName("用戶名");
    db.setPassword("密碼");
    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();
    }

當然要在.pro文件中添加一行引入

QT += sql

如果顯示:

那么恭喜你太幸運了,你已經(jīng)成功連接MySQL數(shù)據(jù)庫了,快去使用吧。

如果顯示:

也不要灰心接著往下看我的電腦就一直顯示失敗

沒有QMYSQL的驅動,這是怎么回事呢?

2)解決QMYSQL driver not loaded

Qt連接到mysql的過程:app->Qt的數(shù)據(jù)庫插件->mysql動態(tài)庫->mysql服務。

Qt的數(shù)據(jù)庫插件位于“C:\Qt(安裝路徑)(Qt版本)\版本號(庫)\mingw49_32(編譯器)\plugins(插件)\sqldrivers(數(shù)據(jù)庫插件)” 下的qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用).

mysql動態(tài)庫位于“C:\Qt\MySQLServer5.5(mysql安裝路徑)\lib”下的“libmysql.dll“

i:將mysql下的ilbmysql.lib和libmysql.dll復制到Qt的bin目錄下
ii:查看自己的qt中有沒有qsqlmysqld.dll(debug版本用) qsqlmysql.dll(release版本用)

如果都有:

運行一下代碼:

//輸出可用數(shù)據(jù)庫
    qDebug()<<"available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug()<<driver;

如果輸出中含有MySQL,那么恭喜你說明你的qt有MySQL驅動了:

如果沒有,不要灰心,因為我的就是一直沒有MySQL驅動:

大家可以重新下載一些不同的版本嘗試一下,我嘗試了無數(shù)次后不得不放棄,就選擇了另一條路,通過ODBC連接MySQL數(shù)據(jù)庫。

2.通過ODBC連接MySQL數(shù)據(jù)庫

1)官方解釋:

ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)提供了一種標準的API(應用程序編程接口)方法來訪問數(shù)據(jù)庫管理系統(tǒng)(DBMS)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。ODBC的設計者們努力使它具有最大的獨立性和開放性:與具體的編程語言無關,與具體的數(shù)據(jù)庫系統(tǒng)無關,與具體的操作系統(tǒng)無關。

簡單的說就是我的qt中含有ODBC的驅動:

所以利用ODBC去使用MySQL的數(shù)據(jù)庫.

2)下載ODBC

官網(wǎng)

選擇和qt編譯器相同的字節(jié)比如我的qt使用的是64字節(jié)的

下載的ODBC選擇的也是64字節(jié)的,選擇MSI類型的直接安裝就可以

下載一直點擊next即可:

查看點擊小娜,搜索ODBC,

3)連接MySQL數(shù)據(jù)庫

i添加MySQL的DSN

紅色的可以隨便填,是自己對于ODBC驅動的描述,粉色的是MySQL的用戶名和密碼,數(shù)據(jù)庫選擇你在MySQL中創(chuàng)建的數(shù)據(jù)庫名字即可.

點擊test如果出現(xiàn)下圖說明連接成功

4)qt通過ODBC連接MySQL

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("是你在ODBC中創(chuàng)建的Data source?。睿幔恚?);
    db.setUserName("用戶名");
    db.setPassword("密碼");
    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();
    }

運行程序:

大功告成

3.qt通過ODBC操作數(shù)據(jù)庫

1)查詢數(shù)據(jù)

代碼:

//查詢數(shù)據(jù)庫中所有表的名稱
    QStringList tables = db.tables();
    foreach(QString table, tables)
        qDebug()<<table;

//ODBC查詢數(shù)據(jù)
    QSqlQuery result = db.exec(" select * from users");
    while(result.next()){
        qDebug()<<"user_id:"<<result.value("user_id").toInt();
        qDebug()<<"name:"<<result.value("name").toString();
        qDebug()<<"password:"<<result.value("password").toString();
        qDebug()<<"score:"<<result.value("score").toInt()<<endl;
    }

2)插入數(shù)據(jù)

//ODBC插入數(shù)據(jù)
    result.clear();
    bool result_successed = result.exec("insert into users(name,password,score) values ( 'joe2y','123456',0)");

    if(result_successed){
        qDebug()<<"插入成功!";
    }else {
        qDebug()<<"插入失??!";
}

3)更新數(shù)據(jù)

//ODBC更新數(shù)據(jù)
    result.clear();
    bool result_successed2 = result.exec("update users set score=10 where user_id=2");

    if(result_successed2){
        qDebug()<<"更新成功!"<<endl;
    }else{
        qDebug()<<"更新失?。?<<endl;
    }

總結

到此這篇關于Qt連接MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關Qt連接MySQL數(shù)據(jù)庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言 CRITICAL_SECTION用法案例詳解

    C語言 CRITICAL_SECTION用法案例詳解

    這篇文章主要介紹了C語言 CRITICAL_SECTION用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • c++string字符串的比較是否相等問題

    c++string字符串的比較是否相等問題

    這篇文章主要介紹了c++string字符串的比較是否相等問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言中關于指針變量的坑

    C語言中關于指針變量的坑

    這篇文章主要給大家介紹了關于C語言中關于指針變量坑的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • C語言八道筆試題精講帶你掌握指針

    C語言八道筆試題精講帶你掌握指針

    C語言這門課程在計算機的基礎教學中一直占有比較重要的地位,然而要想突破C語言的學習,對指針的掌握是非常重要的,本文將具體針對指針的基礎做詳盡的介紹
    2022-07-07
  • C語言全面梳理結構體知識點

    C語言全面梳理結構體知識點

    結構體是一些值的集合,這些值稱為成員變量,結構體的每個成員可以是不同類型的變量。本文將通過示例為大家詳細講講C語言中結構體的使用,需要的可以參考一下
    2022-07-07
  • C++ min/max_element 函數(shù)用法詳解

    C++ min/max_element 函數(shù)用法詳解

    這篇文章主要介紹了C++ min/max_element 函數(shù)用法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • C++中頭文件和源文件詳細介紹

    C++中頭文件和源文件詳細介紹

    這篇文章主要介紹了C++中頭文件和源文件詳細介紹的相關資料,需要的朋友可以參考下
    2017-02-02
  • 基于C++實現(xiàn)酒店管理系統(tǒng)

    基于C++實現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細介紹了基于C++實現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    這篇文章主要介紹了C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C/C++中異常處理詳解及其作用介紹

    C/C++中異常處理詳解及其作用介紹

    這篇文章主要介紹了C/C++中異常處理詳解及其作用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論

新密市| 武定县| 敖汉旗| 育儿| 祁连县| 平江县| 大冶市| 巩留县| 梅州市| 铜陵市| 辉南县| 中宁县| 安福县| 左权县| 天等县| 武邑县| 陇川县| 友谊县| 宕昌县| 淮阳县| 聂拉木县| 富顺县| 文安县| 成武县| 西充县| 赤城县| 苏尼特右旗| 将乐县| 团风县| 凤冈县| 楚雄市| 台北县| 开鲁县| 黄浦区| 卢湾区| 兴化市| 常州市| 明光市| 南京市| 武川县| 称多县|