QT 中的 SQLite 错误 - QSqlError("", "Parameter count mismatch", "")
SQLite error in QT - QSqlError("", "Parameter count mismatch", "")
我正在尝试简单地计算具有 'true' 状态的记录数量。
这是 SQLite table 结构:
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;
};
这里返回的最后一个错误是“参数计数不匹配”
我不知道为什么...只有 1 个参数,我分配给那 1 个参数。
像这样尝试在查询的每一行之后添加一些额外的空格
Query.prepare("SELECT * "
"FROM Suppliers "
"WHERE Status = (:Status)");
我正在尝试简单地计算具有 'true' 状态的记录数量。
这是 SQLite table 结构:
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;
};
这里返回的最后一个错误是“参数计数不匹配” 我不知道为什么...只有 1 个参数,我分配给那 1 个参数。
像这样尝试在查询的每一行之后添加一些额外的空格
Query.prepare("SELECT * "
"FROM Suppliers "
"WHERE Status = (:Status)");