'groupName LIKE ' + QuotedStr('%' + LabeledEdit1.Text + '%');
Query1.Filtered := True;
Ругается, что нет поля LIKE. Так это и не поле, а оператор. Поле тут groupName. Если использую оператор равенства, то работает. Видимо как-то особенно нужно записывать при LIKE. В примерах ничего особенного не обнаружил
Groupname = '*моя строка*'
Благодарю! Это работает. Никогда бы не догадался. Другие операторы пишутся явно, а с лайком вон оно как...)
это есть к Грубера в "Понимание SQL"
причём тут SQL? это поле Filter так работает? я тоже не знал
Поле фильтр может по разному работать. Я когда писал свой "клон" ttable bde не заморачиваясь просто пихал его в where запроса. А в CDs в FireDac да и в самом bde есть разбор выражения фильтра и обработка локально
У Грубера это все описано. Я тоже читал его лет 20 назад, когда только начал базы изучать. Потом вошло в привычку фильтровать данные на сервере. А вот когда понадобилось применять фильтры локально на клиенте, оказалось, что почитать "как правильно" оказалось негде. Вот тут я заново открыл для себя Грубера 😊
Вот ты зациклился на "SQL" 😁 Это книжка у него так называется
Когда данные должны отфильтровываться сразу по событию onchange, то на сервер при каждом вводе делать лайк в таблице - решение мягко скажем не очень)
Обсуждают сегодня