Запити можна розділити на статичні, параметричні і динамічні. Статичні запити формуються на етапі конструювання програм. Для них можна використовувати засіб для побудови запитів SQL Builder. Можна сформувати статичний запит вручну, за допомогою редактора властивості SQL, що викликається після клацання по кнопці, у рядку SQL інспектора об'єктів. Там набирається текст запиту. Параметричним є запит, у SQL-операторі якого в процесі виконання додаток може змінювати окремі його складові. Параметри в запитах зручно використовувати, якщо в тексті запиту є константи, що можуть мінятися чи необхідно передати зовнішні значення. При використанні параметрів можна не змінювати текст запиту і не потрібно компілювати програму заново. Наприклад, запит Select * From History Where S>:Procent, внесений у властивість компонента Query SQL є параметричним. У даному випадку параметром буде Procent, ознакою цього буде двокрапка перед ім'ям параметра. Він буде повертати ті записи таблиці History, процентний вміст у який більше чим Procent. Параметру потрібно привласнити початкове значення у властивості компонента Query Params. Для цього потрібно викликати ця властивість. При цьому буде викликаний редактор параметрів. У цьому редакторі (на відміну від інших редакторів) можна змінювати властивості елементів колекції параметрів, але не саму колекцію. Не можна додати новий параметр чи видалити старий. Колекція будується на підставі SQL запиту. Потрібний параметр треба виділити, двічі клацнувши мишею по потрібному параметру. При цьому можна визначити тип параметра, його початкове значення. Так, наприклад, для параметра Procent, що має числовий тип, необхідно змінити властивості:
1)DataType - ftFloat(зі списку)
2)Value –40(початкове значення параметра)
3) Type - Double(зі списку)
Властивість Value задає початкове значення параметра, інші - його тип. За замовчуванням тип параметра –строковий.
Для програмного завдання початкового чи значення його зміни можна використовувати властивість компонента Query Params[0..ParamCount-1], Params - масив параметрів, ParamCount властивість компонента Query, що визначає кількість пеараметров. Для звернення потрібний індекс відповідного параметра(починається з 0). Він збігається з номером відповідного параметра в редакторі параметрів. Більш універсальний спосіб – звернутися по імені параметра, використовуючи метод ParamsByName. Приклад першого способу зміни параметрів:
Тут необхідний процентний уміст уводиться через компонент Edit1.Text. Програмний код задається в оброблювачі подій onClick кнопки. Параметри, використовувані в запиті, складають колекцію параметрів, що визначається властивістю Params типу TParam. Воно задає список елементів типу Tparam, що задають конкретні параметри. Як уже говорилося, кількість параметрів задає властивість ParamCount(тільки читання).
Для програмного керування колекцією параметрів є ряд методів і властивостей:
1)Логічна властивість- CheckParam відновлення списку параметрів. Якщо воно приймає значення True, то зі зміною запиту список параметрів автоматично обновляється.
2)Метод ParamByName(Value) – повертає покажчик на з ім'ям Value. Якщо такого параметра немає, то виникає виняткова ситуація.
3)Метод – AddParam(Value) додає параметр Value у список параметрів (колекцію параметрів).
4)Метод – CreateParam(FldType, ParamName,ParamType) створює і додає параметр Value у список параметрів (колекцію параметрів). Значення для FldType – це тип поля. Він може приймати значення: ftUnknown, ftString, ftString, ftInteger,ftBoolean, ftFloat,ftMemo і цілий ряд інших. ParamType характеризує вид параметрів. Він може приймати наступні значення: ptUnknown, ptInput, ptOutput, ptInputOutput, ptResult. Стандартним значенням є ptUnknown. ParamName – задає ім'я параметра.