Параметризованный запрос

Печать Предыдущая страница Стартовая страница Следующая страница

ic_460 Параметризованный запрос представляет собой набор данных, записи которого формируются в результате выполнения SQL-запроса. Код Параметризованного запроса создается или изменяется  в момент его активизации. Такие запросы обычно применяются в том случае, когда следует предусмотреть действия пользователя.

Свойства компонента: Автоматическое редактирование, Активность, Отступ слева, Название, Отступ сверху, Подключение, Текст запроса.

Активность – определяет, активизирован запрос или нет, возможные значения - Да, Нет. По умолчанию - Нет. При значении свойства Да осуществляется выполнение запроса.

Подключение – содержит ссылку на компонент Подключение_ADO.

Текст запроса - содержит текст запроса, на основании которого отбираются записи в набор данных. При формировании запроса можно использовать Построитель запросов – редактор, позволяющий набирать и выполнять параметризованные запросы (основные сведения о языке SQL даны в п. 2.6.1. документации). Принцип работы в данном редакторе аналогичен Построителю SQL-запросов (основные сведения о котором даны в документации).

Для настройки Параметризованного запроса во время выполнения приложения в его тексте можно использовать параметры – переменные, имена которых в тексте запроса заключены в символы $ или #.  Символы $ и # являются служебными, и между ними указывается имя компонента формы, который содержит значение данного параметра. В момент активизации запроса вместо названия параметра – переменной подставляется конкретное значение из соответствующего компонента формы. Компонент формы определяется согласно названию параметра – переменной. Для задания значений используются компоненты Ввод значения и Выбор оператора.

Если значение имеет числовой тип, то имя компонента Ввод значения заключается в символы $ (например, $Ввод_значения$).

Если значение имеет символьный  тип, то имя компонента Ввод значения заключается в символы $ и апостроф (например, $'Ввод_значения2'$).

Для логического оператора имя компонента Выбор оператора должно быть заключено в символы # (например, #Выбор_оператора1#).

 

Например, рассмотрим текст запроса:

select  *  from  t_anygeonk  where (t_anygeonk.name = $'ввод_значения2'$)

#выбор_оператора1#(t_anygeonk.layer=$'ввод_значения1'$)

 

Если компонент Параметризованный запрос размещен на Модуле Данных, то необходимо активизировать форму пользователя, содержащую компоненты Ввод значения и Выбор оператора. При этом Построитель запросов будет содержать списки с именами компонент Ввода значения и Выбора оператора данной формы, что позволит упростить  построение запроса.

В тексте   Параметризованного запроса, в условиях отбора, возможно использование наборов данных, расположенных на Модуле данных. Например, рассмотрим текст запроса:

 

select * from t_locality where t_locality. id = ~'модуль_данных1.таблица2. id '~

 

Результатом выполнения оператора SELECT является набор данных, который удовлетворяет критерию отбора:

t_locality. id = ~'модуль_данных1.таблица2. id '~

Имя поля набора данных, расположенного на Модуле данных заключается в символ ~.