1. 程式人生 > >Qt5.8 下鏈接 Mysql 錯誤以及解決方法

Qt5.8 下鏈接 Mysql 錯誤以及解決方法

之前 driver 遠程連接 疑問 bug set deb rst ext

Qt 5.8 下鏈接 Mysql(Windows 平臺下),有朋友會出現一個這個無法連接的錯誤

  QSqlDatabase: QMYSQL driver not loaded

  QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

解決辦法如下

根據 Qt版本不同 ,32 和 64 的 ,需要的驅動是不同的,總的來說,無論 Mysql 是什麽版本的,64 位 Qt 要用 64 位的 Mysql 驅動,32 位的 Qt 要用 32 位的Mysql 驅動,貌似跟安裝的 Mysql 的版本沒啥關系哦~~~

我們需要把 /Mysql/lib (自己的 Mysql 安裝目錄在哪兒自己找)目錄下的 libmysql.dll 拷貝到 / Qt/mingw53_32/bin 目錄下面就可以了哦。

測試代碼如下:

    QSqlDatabase    dbconn;
    QSqlQuery       query;
    dbconn = QSqlDatabase::addDatabase("QMYSQL");
    dbconn.setHostName("localhost");//主機名字
    dbconn.setDatabaseName("Since");//數據庫名字
    dbconn.open("root", "123456");//用戶名、密碼,成功返回1
    query = (QSqlQuery)dbconn;
    query.exec("select * from first");
    while(query.next())
    {
        int id = query.value(0).toInt();
        QString name = query.value(1).toString();
        qDebug() << QString::number(id) + " : "+ name;
    }

測試結果為:

  Starting E:\since2017\Testmysql\release\Testmysql.exe...

  "0 : Since"

  "1 : Never"

在進行 MySQL 操作之前,請確保 MySQL 服務已經開啟了哦,個別博客還強點在安裝 MySQL 的時候要開啟網絡連接,不知道有沒有必要,可能遠程連接的時候需要吧~~~

感謝這位博友給我的啟發,如對鏈接 MySQL 這個還有疑問可以參考這位朋友的博客哦

http://blog.csdn.net/cateatapple/article/details/52279168

http://www.cnblogs.com/hbrw/p/6753849.html

Qt5.8 下鏈接 Mysql 錯誤以及解決方法