В 1970-х годах исследовательский центр компании IBM предложил новый способ создания запросов к базе данных – QBE (Query by Example). Он подразумевает ввод конечным пользователем информационной системы образцов значений полей в виде текстовой строки, которые потом преобразуются в стандартный запрос к базе данных. Это позволяет простому пользователю делать сложные запросы без необходимости изучать специализированный язык запросов (например, SQL), синтаксис которого может быть недоступен ему для понимания. Разработчики Delphi 12 добавили поддержку QBE в FireDAC.
"OrderID < 10255" следует писать "< 10255" , для условия равенства "OrderID = 10255" – просто "10255" , для like – "1025%" и т. д.
Поддержка QBE в Delphi 12 реализована при помощи нового компонента TFDQBE. Работа с ним состоит из трех шагов:
- Вызов метода FDQBE.Edit, который создает в памяти DataSet с набором полей как у основного DataSet (только все его поля имеют тип ftString).
- Заполнение пользователем созданного в памяти DataSet критериями фильтрации (например, через db-aware контролы или DBGrid).
- Вызов метода FDQBE.Post, который на основе внесенных пользователем критериев фильтрации изменяет условие исходного запроса FDQuery или его свойство Filter (в зависимости от свойства FDQBF.Language).
Блин, ощущение, что в акракадабре собирают ТОП-10 бесполезных фич и реализуют их в ближайших релизах. Где расширение функционала TDBGrid, где поддержка HTML-тэгов в стандартных контролах хотяб на уровне BBC? Где приближенное к HTML размещение компонентов? Да элементарная установка пакетов, чтоб не надо было прописывать пути для X86 и x64 библиотек!!! Где диалоговые окна современные?
ОтветитьУдалитьНапример, для фильтрации по условию "OrderID < 10255" следует писать "< 10255" - вы серьезно???? Это то, что нужно большинству девелоперов?
💯
Удалить