Compartir a través de


Implementar una clase Command para una extensión de procesamiento de datos

El objeto Command formula una solicitud y la pasa al origen de datos. El texto del comando puede adoptar muchos formatos sintácticos diferentes, como son texto y XML. Si se devuelven resultados, el objeto Command los devuelve como un objeto DataReader.

Para crear una clase Command, implemente IDbCommand. Implemente el método ExecuteReader para devolver un conjunto de resultados como un objeto DataReader. El método ExecuteReader de la clase Command debería incluir una implementación que tome una enumeración CommandBehavior como argumento. Si implementa la extensión de procesamiento de datos para el Diseñador de informes, proporcione una implementación que administre un caso de SchemaOnly en el método ExecuteReader. Una implementación del esquema únicamente se utiliza para proporcionar una lista de campos al Diseñador de informes. El objeto DataReader que devuelve el método ExecuteReader tiene que contener información de tipos y nombres para los campos, o columnas, en el conjunto de resultados.

Opcionalmente, la clase Command puede implementar IDbCommandAnalysis. Esta interfaz permite que una clase de implementación analice una consulta y devuelva una lista de parámetros en la consulta. La funcionalidad de la interfaz IDbCommandAnalysis solo se utiliza en el Diseñador de informes. Al implementar IDbCommandAnalysis, se puede preguntar a los usuarios del Diseñador de informes los parámetros cada vez que un informe se ejecuta en el modo de vista previa. Además, puede ver los parámetros en la ficha Parámetros del cuadro de diálogo Conjunto de datos.

[!NOTA]

No debe implementar la interfaz IDbCommandAnalysis si la extensión de procesamiento de datos personalizada no admite parámetros.

Para obtener un ejemplo de implementación de la clase Command, vea Ejemplos de SQL Server Reporting Services.