Qt4.8.5連線MySQL5.5
阿新 • • 發佈:2019-02-16
首先,由於自己的認知有限,所以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的問題
這個問題可能是你的哪個程式還在執行,需要先關掉。