WHERE Телефон LIKE ‘’’+FindTelephoneEdit.Text+’’’’
Тут написане приблизно наступне: вибрати всі поля з таблиці «Справочник», де поле «Телефон» дорівнює вказаному в компоненті FindTelephoneEdit тексту. Зверніть увагу, що параметр, з яким відбувається порівняння (текст з FindTelephoneEdit) має бути розміщений в лапках. Тому як й при роботі з фільтром, доводиться використовувати безліч одинарних лапок.
Як тільки текст запиту занесений у властивість SQL, його можна виконувати. Для цього компонент робиться активним. Щоб відобразити результат, показується вікно FindResultForm.
Для виконання запиту частіше всього досить зробити компонент ADOQuery активним. Це прекрасно працює, якщо запитуються дані з таблиці бази даних. Але якщо в запиті відбувається видалення рядка або зміна структуру таблиці (у запиті є такі оператори як: INSERT, UPDATE, DELETE, або CREATE TABLE), то необхідно викликати метод ExecSQL компонента ADOQuery.
Приклад готовий, але розглянемо ще один варіант використання динамічних запитів. Що розуміється під словом «динамічний»? Якщо ми просто вписали запит у властивість SQL компонента ADOQuery і в перебігу всієї програми його не змінюємо, то такий запит можна назвати статичним. Але якщо протягом виконання програми треба змінювати текст запиту, то його можна назвати динамічним.
При пошуку записів доводиться змінювати запит, тому що кожного разу використовується різний параметр, який необхідно знайти. Але навіщо ж кожного разу змінювати весь запит, коли він не міняється? Чи не легше було б внести до запиту змінну і змінювати лише її? Легше, тому підкоригуємо приклад.
Виділіть компонент FindQuery і двічі клацніть по властивості SQL. У редакторові запиту введіть наступний запит:
SELECT *