1. 程式人生 > >Qt4.8.5連線MySQL5.5

Qt4.8.5連線MySQL5.5

首先,由於自己的認知有限,所以Qt連線MySQL的過程很痛苦。花費了很多的時間和精力,但還是有挺多收穫。

一、Qt以及MySQL的安裝

1.Qt4.8.5的安裝教程
2.MySQL5.5的安裝教程
最開始我是用Qt4.8.5連線MySQL5.6.23,但是一直不成功,後來就把MySQL給換了,終於才成功。

二、Qt配置MySQL的驅動

可以參考該篇教程,對於其中的4.2,即編譯Qt的MySQL驅動這部分,建議參考這篇教程,其中的一些認知也是很值得學習的。

三、測試與連線

首先開啟Qt Creator新建一個空的Qt專案,新建之後再建一個main.cpp檔案,並且在專案的pro檔案中加上:”QT += sql”這句話。
1.測試MySQL驅動是否安裝成功

        #include <QtCore/QCoreApplication>
        #include <QtSql>
        #include <QDebug>
        int main(int argc, char *argv[])
        {
            QCoreApplication a(argc, argv);
            qDebug() << "Available drivers:";
            QStringList drivers = QSqlDatabase::drivers();
            foreach(QString driver, drivers)
               qDebug() << "\t "
<< driver; qDebug() << "End"; return a.exec(); }

如果執行結果中含有QMySQL和QMySQL3的話,那就說明驅動安裝成功。

2.連線資料庫
這裡假設已經建立了一個數據庫。

    #include <QtCore/QCoreApplication>
    #include <QtSql>
    #include <QDebug>
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);                                                              
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"
); db.setHostName("localhost"); db.setDatabaseName("mysql");//已建立的資料庫名稱 db.setUserName("user");//使用者名稱稱 db.setPassword("password");//密碼 bool ok = db.open();//如果成功ok位true,否則為false qDebug() << ok; return a.exec(); }

輸出為true,則成功,否則就失敗。

除錯

1.遇到了permission denied的問題
這個問題可能是你的哪個程式還在執行,需要先關掉。