我想連接並執行與QT框架的查詢,我可以連接到MySQL數據庫,我測試了查詢並驗證它在數據庫上的工作。我認爲MySQL驅動安裝正確,因爲我可以連接,它不拋出任何錯誤無法執行與QT的mysql查詢
void Login::on_loginButton_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setDatabaseName("TestBase");
db.setUserName("username");
db.setPassword("password");
if (!db.open()) {
QMessageBox::critical(0,"Database Error","Could not connect to the database, check your internet connection.");
}
QSqlQuery data("SELECT * FROM `TestBase`.`Users` WHERE `userName` = 'Afonso'");
//data.exec("SELECT * FROM `TestBase`.`Users` WHERE `userName` = 'Afonso'");
QMessageBox::information(NULL, "Query executed", "The query returned: " + data.exec());
}
我也有
data.exec("insert query here");
data.next();
似乎沒有試圖努力
我想在QMessageBox中顯示查詢的結果
'QSqlQuery'不會將構造函數參數作爲sql查詢執行,要使用'exec()'方法執行sql查詢,可以使用'lastError()。text()'來查看最新的錯誤。發佈'QMessageBox :: information(NULL,「查詢執行」,「QUERY返回:」+ data.lastError()。text());' – SIFE 2013-03-22 02:02:28
它返回空的消息內容,我試圖使用此代碼 'data.prepare(「insert query here」); data.exec(); data.first(); (0).toString()' 並且它的結果var = 0 – INdek 2013-03-22 09:12:00
我也試着執行'qDebug()<< data.lastError();'它輸出了QSqlError( - 1,「」,「」),至於我的谷歌福是查詢執行正確 – INdek 2013-03-22 09:28:38