Выполнить запрос% LIKE% в Qt - PullRequest
       22

Выполнить запрос% LIKE% в Qt

0 голосов
/ 16 ноября 2018

Я хочу выполнить параметризацию в qt, используя привязку значения.

Это код:

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

Проблема с символом % : он генерирует ошибку при выполнении запроса, однако я не знаю, как использовать его с qt.

1 Ответ

0 голосов
/ 16 ноября 2018

Вам не нужно использовать «%» при подготовке, но объединять 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);
...