Параметризованный запрос |
Параметризованный запрос представляет собой набор данных, записи которого формируются в результате выполнения 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 '~ Имя поля набора данных, расположенного на Модуле данных заключается в символ ~. |