首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt QSqlQuery prepare和bindValue不工作

Qt QSqlQuery prepare和bindValue不工作
EN

Stack Overflow用户
提问于 2012-10-29 01:18:37
回答 1查看 2.2K关注 0票数 4

我对prepare和bindValue有一个问题:(

代码语言:javascript
复制
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();

输出为:

代码语言:javascript
复制
QVariant(QString, "zit")   QVariant(QString, "zit") 
SELECT id_malade,nom,prenom FROM Malade WHERE nom LIKE %?% OR prenom = %?% ;

我试着改变:p和:f?并在bindValue中使用整型位置,但没有成功。查询执行成功,所以我无法获取确切的错误。我在我的程序中使用了很多prepare和bindValue,它工作得很好,问题只出现在这个类上:/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 00:28:05

而不是

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

您的准备语句应为

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13111130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档