Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_Середовище.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.07 Mб
Скачать

Властивість sql

Властивість SQL - імовірно, найважливіша частина TQuery. Доступ до цієї властивості відбувається або через Інспектор Об'єктів під час конструювання проекту (design time), чи програмно під час виконання програми (runtime).

Цікавіше, звичайно, одержати доступ до властивості SQL під час виконання, щоб динамічно змінювати запит. Наприклад, якщо потрібно виконати три SQL запити, те не треба розміщати три компоненти TQuery на формі. Замість цього можна розмістити один і просто змінювати властивість SQL три рази. Найбільш ефективний, простий і могутній спосіб - зробити це через запити з параметрами, що будуть пояснені далі. Однак, спочатку досліджуємо основні особливості властивості SQL, а потім розглянемо більш складні теми, типу запитів з параметрами.

Властивість SQL має тип TStrings, що означає що це ряд рядків, що зберігаються в списку. Список діє також, як і масив, але, фактично, це спеціальний клас із власними унікальними можливостями.

При програмному використанні TQuery, рекомендується спочатку закрити поточний запит і очистити список рядків у властивості SQL:

Query1.Close;

Query1.SQL.Clear;

Зверніть увагу, що завжди можна “безпечно” викликати Close. Навіть у тому випадку, якщо запит уже закритий, виняткова ситуація генеруватися не буде.

Наступний крок - додавання нових рядків у запит:

Query1.SQL.Add('Select * from Country');

Query1.SQL.Add('where Name = ''Argentina''');

Метод Add використовується для додавання однієї чи декількох рядків до запиту SQL. Загальний обсяг обмежений тільки кількістю пам'яті на вашій машині.

Щоб Delphi обробив запит і повернув курсор, що містить результат у виді таблиці, можна викликати метод:

Query1.Open;

Delphi дозволяє скласти “гнучку” форму запиту, називану запитом з параметром. Такі запити дозволяють підставити значення перемінної замість окремих слів у вираженнях “where” чи “insert”. Ця перемінна може бути змінена практично в будь-який час. (Якщо використовується локальний SQL, те можна зробити заміну майже будь-якого слова у твердженні SQL, але при цьому та ж сама можливість не підтримується більшістю серверів.)

Перед тим, як почати використовувати параметризовані запити, розглянемо знову одну з простих вищезгаданих пропозицій SQL:

Select * from Country where Name like 'C%'

Можна перетворити це твердження в параметризований запит замінивши праву частину перемінної NameStr:

select * from County where Name like :NameStr

У цій пропозиції SQL, NameStr не є визначеною константою і може змінюватися або під час дизайну, або під час виконання.