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

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

Материал из Химсофт Вики
Строка 34: Строка 34:
|<code>Name</code>
|<code>Name</code>
|Имя параметра - то же самое имя параметра, которое использовалось в тексте запроса (подставляется автоматически).  
|Имя параметра - то же самое имя параметра, которое использовалось в тексте запроса (подставляется автоматически).  
'''''Примечание:''' Некоторые СУБД (например, <code>MS Access</code>) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений.''
'''''Примечание:''' некоторые СУБД (например, <code>MS Access</code>) не поддерживают именованные параметры; в этом случае оставьте это свойство без изменений.''
|-
|-
|<code>DataType</code>
|<code>DataType</code>

Версия от 04:20, 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 Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных строка.

Примечание

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