Compartilhar via


Implementar uma classe Command para uma extensão de processamento de dados

O objeto Command formula uma solicitação e a passa para a fonte de dados. O texto do comando pode ter várias formas sintáticas diferentes, incluindo texto e XML. Se forem retornados resultados, o objeto Command retornará resultados como um objeto DataReader.

Para criar uma classe Command, implemente IDbCommand. Implemente o método ExecuteReader para retornar um conjunto de resultados como um objeto DataReader. O método ExecuteReader da classe Command deve incluir uma implementação que usa uma enumeração CommandBehavior como argumento. Se você implantar a sua extensão de processamento de dados no Designer de Relatórios, crie uma implementação que manipule um caso SchemaOnly no método ExecuteReader. Uma implementação somente esquema é usada para fornecer uma lista de campos ao Designer de Relatórios. O objeto DataReader retornado pelo método ExecuteReader precisa conter informações de tipo e de nome para os campos ou colunas, do conjunto de resultados.

Opcionalmente, a classe Command pode implementar IDbCommandAnalysis. Essa interface permite que uma classe de implementação analise uma consulta e retorne uma lista de parâmetros na consulta. A funcionalidade da interface IDbCommandAnalysis só será usada no Designer de Relatórios. Quando você implementa IDbCommandAnalysis, permite que sejam solicitados parâmetros dos usuários do Designer de Relatórios sempre que um relatório for executado em modo de visualização. Além disso, você pode exibir os parâmetros na guia Parâmetros da caixa de diálogo Conjunto de Dados.

Observação

Você não deve implementar IDbCommandAnalysis se a sua extensão de processamento de dados personalizada não der suporte a parâmetros.

Para obter uma implementação de exemplo da classe Command, consulte Amostras de produto do SQL Server Reporting Services.