我在QT5中的SQLite數據庫有問題。我有一個名爲「mytable」的表格,我試圖在那裏保存,更改或加載數據。該表看起來像這樣(CODE):QT5和SQLite3「無查詢無法獲取行」
"mytable" ("id" INTEGER PRIMARY KEY NOT NULL , "name" VARCHAR NOT NULL , "akcie" INTEGER NOT NULL)
然後我試着與這個數據庫是這樣的(CODE)工作:
void MainWindow::on_pushButton_save_clicked()
{
QString jmeno, IDcko, ak;
IDcko = ui->lineEdit_ID->text();
jmeno = ui->lineEdit_Name->text();
ak = ui->lineEdit_Akcie->text();
open_connection();
QSqlQuery query;
query.prepare("INSERT INTO mytable(id, name, akcie) VALUES(id= \'"+ IDcko +"\', name= \'"+ jmeno +"\', akcie= \'"+ ak +"\')");
if(query.exec())
{
QMessageBox::information(this, tr("SAVED"), tr("Some text."));
close_connection();
}
else
{
QMessageBox::critical(this, tr("NOT SAVED"), query.lastError().text());
qDebug() << query.lastError().text();
}
}
在這樣同一個文件IM開放連接(CODE):
bool MainWindow::open_connection()
{
QSqlDatabase database;
database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("..\\added\\test_table.sqlite");
if(!database.open())
{
qDebug() << "not opened connection";
return false;
}
else
{
qDebug() << "opened connection";
return true;
}
}
和IM仍然得到錯誤:「沒有查詢無法抓取行」,我一直在尋找的答案真的很難,但毫無效果。難道是因爲某些包含或我做錯了什麼?
非常感謝您的幫助!
什麼'QSqlQuery :: lastError()'說? – cmannett85
@ cmannett85它仍然說:「沒有查詢無法獲取行」 –