gpt4 book ai didi

c++ - Qt QSqlQuery 准备和 bindValue 不工作

转载 作者:太空狗 更新时间:2023-10-29 21:25:56 26 4
gpt4 key购买 nike

我对 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 并且它工作正常问题只在这个类上:/

最佳答案

代替

[...] nom LIKE %:p% OR prenom = %:f%

你的准备声明应该是这样的

[...] nom LIKE '%'||:p||'%' OR prenom = '%'||:f||'%'

关于c++ - Qt QSqlQuery 准备和 bindValue 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13111130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com