根据你提供的代码和表结构,出现错误”Parameter count mismatch”可能是由于在准备更新语句时,参数绑定的数量不匹配导致的。
可以尝试以下修改:
QSqlQuery query(m_database);
query.prepare("UPDATE znq_type SET nzznq_status = :status WHERE id = :id");
query.bindValue(":status", nzznq_status);
query.bindValue(":id", 1); // 只有一条记录
if (!query.exec()) {
qDebug() << __LINE__ << "更新记录失败:" << query.lastError().text();
return false;
}
这样,在prepare
方法中使用命名占位符(如:status
和:id
)来标记要绑定的参数,然后使用bindValue
方法将实际值与对应的占位符进行绑定。
请注意确保数据库连接(m_database
)已正确建立,并根据需要进行相应修改。
内容由零声教学AI助手提供,问题来源于学员提问