QSqlQuery 说参数计数不匹配

问题描述 投票:0回答:0

我正在使用 QSqlQuery 在我的 Qt5/C++ 程序中创建一个简单的 SQLite 更新。当我执行下面的查询时,出现错误“参数计数不匹配”。但为什么?

QSqlQuery updateQuery;
updateQuery.prepare("UPDATE mytable SET m=:m WHERE r=:r AND u=:u LIMIT 1");
updateQuery.bindValue(":m", m);
updateQuery.bindValue(":r", r);
updateQuery.bindValue(":u", u);
sqlErrors = !updateQuery.exec();

变量m、r、u是QString的。我有 3 个参数,并绑定所有三个。不匹配在哪里?像 this 这样的帖子只涉及 INSERT 命令,但其他所有适用的似乎都是正确的。

检查 lastQuery() 确认绑定替换没有发生。我还可以看到 prepare 语句失败(返回 false)——但对我来说它看起来像是有效的 SQL。

c++ sqlite qt qt5 qsqlquery
© www.soinside.com 2019 - 2024. All rights reserved.