Compartir a través de


Determinar qué tipo de descriptor de acceso se debe utilizar

Puede determinar los tipos de datos de un conjunto de filas en tiempo de compilación o de ejecución.

Si necesita determinar los tipos de datos en tiempo de compilación, utilice un descriptor de acceso estático (como CAccessor).

Si necesita determinar los tipos de datos en tiempo de ejecución, utilice un dinámico (CDynamicAccessor o sus elementos secundarios) o un descriptor de acceso manual (CManualAccessor). En estos casos, puede llamar a GetColumnInfo en el conjunto de filas para devolver la información de enlace de columna desde la que se pueden determinar los tipos.

En la tabla siguiente se enumeran los tipos de descriptores de acceso proporcionadas en las plantillas de consumidor. Cada descriptor de acceso tiene ventajas y desventajas. Dependiendo de su situación, un tipo de descriptor de acceso debe adaptarse a sus necesidades.

Clase de descriptor de acceso Enlace Parámetro Comentario
CAccessor Cree un registro de usuario con macros COLUMN_ENTRY. Las macros de enlazan a un miembro de datos de ese registro al descriptor de acceso. Cuando se crea el conjunto de filas, las columnas no se pueden enlazar. Sí, mediante el uso de una entrada de macro PARAM_MAP. Una vez enlazados, los parámetros no se pueden enlazar. Descriptor de acceso más rápido debido a una cantidad pequeña de código.
CDynamicAccessor Automática. No. Resulta útil si desconoce el tipo de datos en un conjunto de filas.
CDynamicParameterAccessor Automático, pero se puede invalidar. Sí, si el proveedor admite ICommandWithParameters. Los parámetros se enlazan automáticamente. Más lento que CDynamicAccessor, pero útil para llamar a procedimientos almacenados genéricos.
CDynamicStringAccessor[A,W] Automática. No. Recupera los datos a los que se accede desde el almacén de datos como datos de cadena.
CManualAccessor Manual mediante AddBindEntry. Manualmente mediante AddParameterEntry. Rápido; los parámetros y las columnas se enlazan solo una vez. Determina el tipo de datos que se va a usar. (Consulte DBVIEWER para obtener un ejemplo). Requiere más código que CDynamicAccessor o CAccessor. Es más parecido a llamar directamente a OLE DB.
CXMLAccessor Automática. No. Recupera los datos a los que se accede desde el almacén de datos como datos de cadena y se les aplica formato de etiquetas XML.

Consulte también

Usar descriptores de acceso