我正在使用Qt 5.4和SQLite来进行数据库操作,所有其他请求都可以正常工作,但是这个请求似乎不起作用并且没有错误。
QSqlQuery query(Globals::db);
QString cmd = "Update VideoFile set isVisible = 0 WHERE Id =1;";
if(query.prepare(cmd))
qDebug("Prepare success..."); //<-- prints out
if (!query.exec()) {
qDebug("Error occurred querying.");
qDebug("%s.", qPrintable(Globals::db.lastError().text())); //<<-- prints out blank
}
到目前为止已经尝试过:
o)数据库:存在!
o)查询Prepare()产生True
o)在SQLite浏览器中执行相同的Statement。作品!
我读到了一个问题here:,有些数据库有一定的延迟。
“可移植性说明:有些数据库选择延迟准备查询,直到它第一次执行。在这种情况下,准备一个语法错误的查询成功,但每个连续的exec()都会失败。”但显然,查询在语法上并不错误。