Параметры

<< Click to Display Table of Contents >>

Navigation:  Создание отчетов > Создание отчетов в MasterSCADA 4D > Источники данных, переменные и функции > Источники данных > Прочие источники > Источник данных СУБД > Запросы >

Параметры

При создании запроса есть возможность использовать объект Параметр. Данный объект предназначен для передачи в запрос дополнительных условий для выборки данных. К примеру, если требуется, чтобы запрос использовал какое-либо значение вводимое пользователем при каждом выполнении запроса, то можно создать запрос с использованием параметров. Объект Параметр может быть использован только совместно с SQL источниками данных. Такие источники данных обычно имеют поле Текст запроса. Для того чтобы вставить параметр в запрос, следует нажать кнопку Новый параметр:

Data.Data_Dictionary.DataSources.Queries.Parameters

После нажатия данной кнопки будет создан новый параметр, который будет отображен в группе Параметры на панели Колонки:

Data.Data_Dictionary.DataSources.Queries.Parameters_1

Каждый параметр имеет свойства, с помощью которых можно изменить его настройки. На рисунке снизу представлены свойства параметра:

Data.Data_Dictionary.DataSources.Queries.Parameters_2

Название

Назначение

Наименование

Имя параметра. В случае именованного параметра.

Выражение

Для каждого параметра можно указать значение, которое используется для заполнения параметра. Значение может быть выражением, const, ссылкой на элемент словаря данных, к примеру, переменная и т.д. К примеру, x+y или {variable}.

Размер

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

Тип

Значения данного свойства находятся в выпадающем списке, и представляет собой перечисление типов используемых в параметрах для конкретной базы данных. Стоит учитывать, что список типов отличается в зависимости от базы данных.

Также параметр необходимо указать и в самом запросе. Ниже представлен пример схематичного расположения параметров в запросе:

Data.Data_Dictionary.DataSources.Queries.Parameters_4

Как правило, для указания параметра в запросе используется символ @. Символ @ используется с именованными параметрами, т.е. после символа @ следует имя параметра. Но в некоторых базах данных (к примеру в OleDB), символ @ может не восприниматься адаптером базы данных и запросы с параметрами работать не будут. В данном случае, можно использовать неименованные параметры. Для указания в запросе неименованных параметров используется символ ?. После символа ? не указывается имя параметра. В этом случае важен порядок параметров в группе Параметры. По мере указания символов ? в запросе, параметры будут браться последовательно из группы Параметры в направлении "сверху-вниз". Рассмотрим на примере. Допустим есть три параметра, которые указываются в запросе. Поскольку в данном случае используются неименованные параметры (обозначенные символом ?), то при выполнении запроса параметры будут браться из группы Параметры последовательно "сверху-вниз". На рисунке снизу схематично представлено сопоставление параметров из группы Параметры к параметрам в запросе:

Data.Data_Dictionary.DataSources.Queries.Parameters_5

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

Data.Data_Dictionary.DataSources.Queries.Parameters_3

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

parametry_1

Использование переменной как параметра

В параметре как значение можно указать переменную. В этом случае значения переменной будут значениями параметра при запросе. Использовать переменную в запросе как параметр можно двумя способами:

•Создать переменную в словаре данных. Открыть на редактирование запрос. Создать параметр в запросе. Указать переменную как значение этого параметра:

primer_mssql_16

Прописать параметр в тексте запроса.

•При создании или редактировании переменной, установить флаг Разрешить использовать как SQL параметр:

parametry_2

Прописать эту переменную в тексте запроса, используя специальный символ "@" перед именем переменной.

Нажать кнопку ОК в редакторе запросов. Теперь переменная присутствует в источнике данных, и используется как параметр в запросе.