562___________________________________________Глава 10

В заключение следует сказать, что возможности визуального построителя за-
просов в целом не очень велики. С помощью ручной настройки Query, описанной в
предыдущем разделе, можно сделать больше. К тому же, не всегда сформирован-
ный запрос оказывается безошибочным, если вы использовали в нем русские наи-
менования столбцов. Так что можно, пожалуй, рекомендовать в большинстве слу-
чаев отдавать предпочтение ручной настройке.

10.1.6.4 Динамические запросы и параметры Query

Все запросы SQL, которые мы до сих пор рассматривали — это так называе-
мые статические запросы. В них фиксировано все: имена таблиц, поля, констан-
ты в выражениях и т.п. Но помимо таких статических запросов SQL допускает и
динамические запросы, использующие параметры. Причем параметры можно при-
менять вместо имен таблиц, имен полей и их значений. Значения этих параметров
передаются извне и тем самым, не изменяя текст самого запроса, можно менять
возвращаемый им результат.

Параметры задаются в запросе с двоеточием, предшествующим имени пара-
метра:

: <имя параметра>
Например, вы можете записать в запросе Select элемент WHERE в виде:

WHERE Year_b <= : РУеаг

В этом случае вы сравниваете год рождения не с какой-то константой, а со зна-
чением параметра, который вы назвали PYear.

Теперь обратимся к компоненту Query. Если вы введете в его свойство SQL за-
прос, содержащий параметры, например:

Select * from pers where (year_b>:PYear) and (dep=:Dep)

а потом щелкнете в Инспекторе Объектов на свойстве Params, вам откроется диа-
логовое окно со списком объектов — указанных вами в запросе параметров PYear
и Вер (см. рис. 10.2). В этом списке вы можете выделять по очереди параметры и в
Инспекторе Объектов устанавливать их свойства. Это свойства:

Рис. 10.2

Окно задания атрибутов параметров

DataType                  тип данных параметра (int, string и т.п.)
Name                     имя параметра

ParamType                 тип параметра (используется при обращении к
процедурам, хранимым на сервере — см. раз-
дел 10.3.5.2)

Value                     значение параметра по умолчанию
Type — подсвойство Value   тип значения по умолчанию

После того, как вы установили свойства всех параметров, можете использо-
вать их при программировании приложения.