我想使用值绑定在qt中执行参数化。
这是代码:
QString name = "Foo";
query->prepare("SELECT Name, Surname FROM employee WHERE Surname LIKE %:surname%");
query->bindValue(":surname", name);
问题出在%字符上:它在执行查询时生成了一个错误,但我不知道如何将它与qt一起使用。
您不必在prepare中使用"%",而是连接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);