1
下面的代碼工作與MySQL:Qt 5.5 QSqlDatabase :: open()總是返回true?
#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlRecord>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("192.168.139.128");
db.setDatabaseName("qsql");
db.setUserName("user");
db.setPassword("pass");
if (!db.open()) {
qDebug() << "Error = " << db.lastError();
} else {
qDebug() << "Openned!" ;
}
QSqlQuery query("SELECT id, name FROM persons");
QSqlRecord record = query.record();
while (query.next()) {
QString id = query.value(record.indexOf("id")).toString();
QString name = query.value(record.indexOf("name")).toString();
qDebug() << query.at() << ":" << id << "," << name;
}
return a.exec();
}
問題是db.open()總是返回true,無論連接參數如何錯的。我知道這可能是Qt 5.5中的一個已知錯誤(我正在使用它),我想知道是否有解決方法或解決方案?
謝謝,它完成了,更新到5.5.1問題解決。但是我可以問問程序員在5.5.1之前如何連接到mysql? hmmmmmmmmmm qt?! –
此錯誤僅在5.5.0版本中發佈。在以前的版本中一切都很好。我認爲有人像我一樣,只是補丁qt來源,並重新編譯與手動修復。 – misterion