Перейти к содержанию

Параметры запроса: различия между версиями

Материал из Химсофт Вики
Строка 32: Строка 32:
!Описание
!Описание
|-
|-
|<code></code><br>'''''Символы'''''
|<code>Name</code><br>'''''Символы'''''
|
|Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса. Некоторые СУБД (например, MS Access) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений.
|-
|-
|<code></code><br>'''''Символы'''''
|<code>DataType</code><br>'''''Символы'''''
|
|Тип данных параметра.
|-
|-
|<code></code><br>'''''Символы'''''
|<code>DefaultValue</code><br>'''''Символы'''''
|
|Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве Expression или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета).
|-
|-
|<code></code><br>'''''Символы'''''
|<code>Expression</code><br>'''''Символы'''''
|
|Выражение, которое возвращает значение параметра. Подробнее о выражениях смотрите в главе "Выражения". Это выражение будет вычислено при запуске отчета на выполнение.
|-
|-
|<code></code><br>'''''Символы'''''
|<code>Size</code><br>'''''Символы'''''
|
|Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных "строка".
|-
|-
|}
|}

Версия от 04:15, 16 октября 2026

В тексте запроса могут присутствовать параметры. Рассмотрим следующий запрос:

SELECT DISTINCT
	cl."ID" AS lab_id, 
	e."ID" AS fio_id,
	e."SURNAME" AS surname,
	e."NAME" AS name,
	e."PATRONYMIC" AS patronymic,
	CONCAT(e."SURNAME", ' ', e."NAME", ' ', e."PATRONYMIC") AS fio
FROM "COMPANY_LEVEL" cl 
INNER JOIN "EMPLOYEE_CLB" e_clb 
	ON cl."ID" = e_clb."COMPANY_LEVEL_ID" 
INNER JOIN "EMPLOYEE" e 
	ON e."ID" = e_clb."ENTITY_ID"  
WHERE cl."ID" = @lab_id 
ORDER BY fio;

Это запрос к демонстрационной базе MS SQL. В запросе определен параметр с именем param1. Здесь надо сделать важное замечание: способ определения параметров в запросе отличается для разных СУБД. Для MS SQL параметр обозначается символом @; для MS Access параметры не имеют имен и обозначаются символами ?.

Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр:

Свойства

В окне справа необходимо настроить следующие свойства параметра:

Свойство Описание
Name
Символы
Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса. Некоторые СУБД (например, MS Access) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений.
DataType
Символы
Тип данных параметра.
DefaultValue
Символы
Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве Expression или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета).
Expression
Символы
Выражение, которое возвращает значение параметра. Подробнее о выражениях смотрите в главе "Выражения". Это выражение будет вычислено при запуске отчета на выполнение.
Size
Символы
Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных "строка".

Примечание

Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера.