Реализация класса Command для модуля обработки данных

Объект Command формулирует запрос и передает его в источник данных. Текст команды может принимать различные синтаксические формы, включая текст и XML-код. При наличии возвращенных результатов объект Command возвращает результаты как объект DataReader.

Чтобы создать класс Command, реализуйте интерфейс IDbCommand. Реализуйте метод ExecuteReader, чтобы возвратить результирующий набор в виде объекта DataReader. Метод ExecuteReader класса Command должен включать реализацию, принимающую в качестве аргумента перечисление CommandBehavior. При развертывании модуля обработки данных в конструкторе отчетов следует предусмотреть реализацию, обрабатывающую вариант SchemaOnly в методе ExecuteReader. Список полей передается конструктору отчетов с помощью реализации только схемы. Объект DataReader, возвращенный методом ExecuteReader, должен содержать сведения об имени и типе полей или столбцов в результирующем наборе.

Дополнительно класс Command может реализовывать интерфейс IDbCommandAnalysis. Этот интерфейс позволяет проанализировать запрос в реализующем классе и возвратить список параметров в запросе. Возможности интерфейса IDbCommandAnalysis используются только в конструкторе отчетов. После реализации интерфейса IDbCommandAnalysis пользователи конструктора отчетов получают возможность вводить параметры с помощью приглашения при запуске отчета в режиме предварительного просмотра. Кроме того, параметры можно просматривать на вкладке Параметры в диалоговом окне Набор данных.

Примечание.

Не следует реализовывать интерфейс IDbCommandAnalysis, если пользовательский модуль обработки данных не поддерживает параметры.

Образец реализации класса Command см. в разделе Образцы продуктов служб SQL Server Reporting Services.