QT5.5與MYSQL5.6數據庫連接的具體方法與實現


      由於畢設需要用到QT讀取數據庫中的數據,並將數據保存至數據庫中。花了一天的時間,總算實現了從QT中讀取數據庫中的數據。網上相關資料很多,但是寫得不是很全,中間出現了一些問題,解決起來比較麻煩。所以本文從MYSQL下載、安裝,QT連接MYSQL盡可能寫詳細,若有不足,還請見諒。

    1、QT5.5下載

        本文使用的 windows32 QT5.5 版本為(qt-opensource-windows-x86-mingw492-5.5.10),可從我的百度雲:https://pan.baidu.com/s/1XsVmgd3Qd-J0BHPVOtMVkA下載

        若選用高版本,具體安裝方法可自行百度。

    2、MYSQL5.6下載

        由於QT選用的Windows32位,所以MYSQL也應選擇Windows32位版本為mysql-5.6.39-win32.zip。(若QT選擇的為Windows64位,則MYSQL應選擇Windows64位),

        可從我的百度雲:https://pan.baidu.com/s/1XsVmgd3Qd-J0BHPVOtMVkA下載。

        若選用高版本,具體下載方法可自行百度。

   3、MYSQL5.6安裝

        1)將mysql-5.6.39-win32.zip解壓至D盤中的MYSQL SERVER,且重命名為mysql-5.6。解壓修改后的結果如圖1-1所示。

                                                  

                                                                                   圖1-1

    2)修改my-default.ini,修改后如圖1-2所示

                                   

                                                           圖1-2

3)增加環境變量。右鍵我的電腦,點屬性,點高級系統設置,點環境變量,在PATH中添加 ;D:\MYSQL SERVER\mysql-5.6\bin(分號不要忘了,根據自己的安裝目錄改寫),點擊確認就行。

4)在C盤中找到cmd.exe,並以管理員權限打開。分別執行以下指令:

   d:

   cd  MYSQL SERVER\mysql-5.6\bin 

  mysqld -initalize -user=mysql -console

  mysqld -install,輸入該指令后會打印 Service successfully installed

  net start mysql,輸入該指令后會打印MySQL服務已經啟動成功。至此MYSQL5.6已經安裝成功,並且已運行。

 4、MYSQL登陸與修改密碼

  1)在cmd.exe軟件中,繼續輸入SQL相關指令:

   mysql -u root -p,輸入該指令后出現 Enter password:  ,第一次登陸直接回車,進入mysql軟件。如圖1-3

       

                                   圖1-3

 2)增加root的密碼。

    mysql> set password for root@localhost=password('88888888');

    輸入該指令后ront 的密碼變為88888888。(在編寫QT程序中需要用到用戶名為root和密碼為88888888)

    mysql>exit

    輸入該指令后退出。

   重新登陸,輸入 mysql -u root -p,輸入該指令后出現 Enter password: ,輸入88888888。若輸入密碼不是88888888,則會出現報錯,如圖1-4所示

                   

                                                         圖1-4

 3)添加測試表,在test庫中添加student表,並添加一些數據。具體操作如圖1-5所示,至此MYSQL部分已經全部完成。(注意是在test庫中添加,對應QT應選擇test;

                                             圖1-5

5、建立QT程序

1)將mysql-5.6文件lib目錄下的libmysql.dll和libmysqld.dll復制到Qt5.5中的mingw493_32的bin文件下。如圖1-6所示;

                                                             圖1-6

2)新建項目,選擇QT Console Application。命名項目名為sql_test;

在sql_test.pro文件中添加 QT +=sql

main.cpp改為

 1 #include <QCoreApplication>
 2 #include <QSqlDatabase>
 3 #include <QSqlQuery>
 4 #include <QSqlError>
 5 #include <QtDebug>
 6 void connect_mysql()
 7 {
 8     QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
 9        db.setHostName("127.0.0.1");      //連接數據庫主機名,這里需要注意(若填的為”127.0.0.1“,出現不能連接,則改為localhost)
10        db.setPort(3306);                 //連接數據庫端口號,與設置一致
11         db.setDatabaseName("test");      //連接數據庫名,與設置一致
12         db.setUserName("root");          //數據庫用戶名,與設置一致
13         db.setPassword("88888888");    //數據庫密碼,與設置一致
14         db.open();
15         if(!db.open())
16         {
17             qDebug()<<"不能連接"<<"connect to mysql error"<<db.lastError().text();
18             return ;
19         }
20         else
21         {
22              qDebug()<<"連接成功"<<"connect to mysql OK";
23         }
24         QSqlQuery query(db);
25         query.exec("select * from student");
26         while(query.next()){
27             qDebug()<<query.value("name").toString();
28         }
29 }
30 int main(int argc,char *argv[])
31 {
32     QCoreApplication a(argc,argv);
33     connect_mysql();
34     return a.exec();
35 }

3)測試結果

 

                         圖1-7

   結果表明,QT已經成功讀取MYSQL中的student表。

可以在 https://github.com/xtuwang/Qt_Project/tree/xtuwang-patch-1中下載該項目。

 


免責聲明!

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



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