我对 prepare 和 bindValue 有疑问 :(
db.open();
QSqlQuery q;
q.prepare("SELECT id_malade,nom,prenom FROM Malade WHERE nom LIKE %:p% OR prenom = %:f% ;");
q.bindValue(":p",ui->lineEdit->text());
q.bindValue(":f",ui->lineEdit->text());
qDebug() << q.boundValue(0) << " " << q.boundValue(1);
qDebug() << q.executedQuery().toStdString().c_str(); db.close();
输出是:
QVariant(QString, "zit") QVariant(QString, "zit")
SELECT id_malade,nom,prenom FROM Malade WHERE nom LIKE %?% OR prenom = %?% ;
我试图改变 :p 和 :f 与 ? 并在 bindValue 中使用 int 位置,但没有运气。查询成功执行,因此我无法获取确切的错误。我在我的程序中经常使用 prepare 和 bindValue 并且它工作正常问题只在这个类上:/