Параметры запроса
В тексте запроса могут присутствовать параметры. Рассмотрим следующий запрос:
select * from DVDs
where Title = @param1
Это запрос к демонстрационной базе MS SQL. В запросе определен параметр с именем param1
. Здесь надо сделать важное замечание: способ определения параметров в запросе отличается для разных СУБД. Для MS SQL параметр обозначается символом @
; для MS Access параметры не имеют имен и обозначаются символами ?
.
Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр:
В окне справа необходимо настроить следующие свойства параметра:
Свойство | Описание |
---|---|
Name | Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса. Некоторые СУБД (например, MS Access) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений. |
DataType | Тип данных параметра. |
DefaultValue | Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве Expression или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета). |
Expression | Выражение, которое возвращает значение параметра. Подробнее о выражениях смотрите в главе "Выражения". Это выражение будет вычислено при запуске отчета на выполнение. |
Size | Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных "строка". |
Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера.