QT 中的 SQLite 错误 - QSqlError( " " , "Parameter count mismatch" , " " )



我正试图简单地计算具有'true'状态的记录的数量。

这是SQLite表结构:

CREATE TABLE Suppliers(ID INTEGER PRIMARY KEY AUTOINCREMENT,Name varchar(50),Number varchar(15),URL varchar(70),Status bool,ShippingCost integer)

然后我从QT调用查询如下:

int SQLiteController::ActiveSupplierCount()
{
int count = 0;
QSqlQuery Query;
Query.prepare("SELECT *"
"FROM Suppliers"
"WHERE Status = (:Status)");
Query.bindValue(":Status", true);
Query.exec();
qDebug() << Query.lastError();
while(Query.next() == true)
{
count++;
}
qDebug() << count;
return count;
};

返回的最后一个错误是"Parameter count mismatch"我不知道为什么…只有一个参数,我给它赋值

尝试在每一行查询之后添加一些额外的空格,像这样

Query.prepare("SELECT * "
"FROM Suppliers "
"WHERE Status = (:Status)");

相关内容

最新更新