QT Sqlite UPDATE语句准备错误

QT Sqlite UPDATE statement prepare error

我正在尝试使用 QT 的内置 Sqlite 引擎 prepare SQL 语句。

以下语句:

UPDATE collections SET collection_type=:v1 WHERE 
(collections.collection_name = 'asfg')

QSqlQueryprepare 语句中失败 (prepare returns false)。

QSqlError err = db.lastError(); 没有给出错误信息...

但是,如果我在 sqlite 提示符下执行相同的语句(通过将 :v1 替换为数字),它会成功。

我做错了什么?

编辑:

我做错的是没有检查数据库结构。 table 不见了。太糟糕了,我不能对我自己的 post 投反对票:(

:v1替换为?,然后使用

query.addBindValue(v1);

v1 是包含值的变量。