Я работаю над программой на C ++ Qt, где я включаю базу данных mysql.
Я хочу сделать несколько запросов SQL и показать вывод в виде таблицы. Поскольку я также хочу отфильтровать результаты, я написал такой фрагмент кода:
query->prepare("SELECT * FROM contacts WHERE contactsName LIKE '%:name%';");
query->bindValue(":name", mUi->searchContactsLine->text());
query->exec();
mModel->setQuery(*query);
mUi->tableContacts->setModel(mModel);
… где
searchContactsLine
является строкой ввода для поиска строки,
mModel
мой QSqlQueryModel и
tableContacts
мой TableView в QT.
Как видите, я хочу использовать сопоставление с шаблоном со знаком доллара. Но если я запускаю программу, я не получаю строки назад … независимо от того, что я ищу.
В прошлом у меня были проблемы с кавычками (‘…’) при использовании функции bindValue, но если я удаляю ее из команды sql, я получаю ошибку синтаксиса sql.
Так что я не так делаю? Может быть, у вас есть идея об этом.
Задача ещё не решена.
Других решений пока нет …