|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.3 Работа с параметрамиПараметры в отчетах Reporting Services в SQL Server 2000, параметры отчета (report parameters) и параметры запроса (query parameters), обязательные и необязательные параметры, применение отчетов В Reporting Services предусмотрено два вида параметров: report parameters и query parameters. Report parameters (параметры отчета) определяются на уровне отчета, обеспечивают большую степень гибкости в представлении данных. Например, при помощи такого параметра пользователь может выбрать месяц, за который ему нужны данные. Параметры создаются во время разработки, а значения их могут меняться во время выполнения. Параметры могут быть необязательными (optional) и обязательными (mandatory) Без присвоения значений обязательным параметрам отчет просто не будет сгенерирован. Для параметров могут использоваться значения по умолчанию. Для чего используются report parameters: · для передачи данных в SQL-запрос в Data Set (через Query parameter) - чтобы ограничить возвращаемые запросом данные; · для определения фильтра на отображение записей после получения их с источника (хотя лишние данные лучше и не получать); · для перехода между отчетами (как через подотчет, так и через действие - action) и передачи параметров внешним отчетам; · для обеспечения дополнительной безопасности, основываясь на информации об учетной записи, от имени которой работает отчет. · для расчета количества появлений элемента в отчете. Для каждого параметра необходимо указать имя (уникальное внутри отчета), тип данных, разрешено ли ему принимать значения типа Null (не определено) и значение типа Blank (явно определенное пустое значение). Если значения параметра не устанавливается программно, то при запуске параметризованного запроса пользователю будет выведено окно с приглашением ввести ли выбрать значения. Текст приглашения можно редактировать. При использовании числовых типов/даты-времени будет выводиться приглашение с форматом, зависящим от региональных настроек пользователя. Явно указать формат нельзя - только выполнять программное преобразование в String и обратно, а там уже делать все, что угодно. Если пользователь указал неверное значение параметра (строковое значение для типа и т.п.), то, если параметр допускает значения типа Null, оно и будет установлено (при этом сообщение об ошибке выводится не будет!). Если нет - то будет установлено Blank Value. Пользователю можно предоставить ниспадающий список, из которого он сможет выбирать значение параметра. Заполнять этот список можно в Run-Time. Управление Report Parameter - свойства отчета, свойство ReportParameter. Query Parameter (параметры запросов) - как правило, используются только для одной цели - для ограничения возвращаемых данных. При создании запроса с параметром Report Designer автоматически создает соответствующий ему (им) Report parameter. Для того, чтобы определить Query Parameter, необходимо в запросе просто указать его с символом @, например: SELECT * FROM customers WHERE country = @Country На SQL Server этот пример пройдет без ошибки, но драйвер для MS Access требует несколько другого синтаксиса: SELECT * FROM customers WHERE country = ? Поскольку этот параметр автоматически добавляется в коллекцию Parameters, то обратиться к нему можно будет как Parameters!Country.Value Управление Query Parameter (например, в случае, если его нужно сопоставить другому Report Parameter) - вкладка Data, кнопка с многоточиями, которая называется Edit Selected Dataset.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||