在 Qt 中执行 %LIKE% 查询

bee*_*eep 5 c++ qt qt5 qsqlquery

我想使用值绑定在 qt 中执行参数化。

这是代码:

QString name = "Foo";
query->prepare("SELECT Name, Surname FROM employee WHERE Surname LIKE %:surname%");
query->bindValue(":surname", name);
Run Code Online (Sandbox Code Playgroud)

问题在于%字符:它在执行查询时生成错误,但我不知道如何将它与 qt 一起使用。

eyl*_*esc 8

您不必在准备中使用“%”,但可以连接 QString,另一方面,到目前为止我不需要使用 QSqlQuery 指针,所以我建议不要使用它,因为它有一个复制构造函数。

QSqlQuery query;
QString name = "Foo";
query.prepare("SELECT Name, Surname FROM employee WHERE Surname LIKE :surname");
query.bindValue(":surname", QString("%%1%").arg(name));
query.exec();
while(query.next())
    qDebug()<< query.value(0) << query.value(1);
Run Code Online (Sandbox Code Playgroud)