Data Access: ADO y RDO
Actualización: noviembre 2007
La tabla siguiente muestra dos tecnologías subyacentes compatibles con controles de origen de datos o enlazados a datos.
ADO
ADO es un contenedor COM de OLE DB que facilita la programación de aplicaciones de acceso a datos (consumidores). OLE DB es una tecnología de acceso a datos universal basada en COM, que permite utilizar cualquier origen de datos, no sólo los indizados, los de método de acceso secuencial (ISAM) o las bases de datos basadas en SQL.Los proveedores OLE DB permiten tener acceso a datos desde varios orígenes de datos diferentes y no están limitados a utilizar consultas SQL para obtener datos, sino que pueden utilizar consultas definidas en el proveedor.
RDO
RDO es el contenedor COM de ODBC. ODBC, una API basada en C, permite un acceso a datos de propósito general (heterogéneo). Sin embargo, RDO se basa en SQL como lenguaje de comandos para tener acceso a datos.Puede que le interese utilizar controles de acceso a datos basados en ADO en lugar de los controles de acceso a datos de RDO.
La tabla siguiente muestra las diferencias principales entre los controles de datos de ADO y de RDO.
Controles enlazados a datos
Los controles enlazados a datos de RDO utilizan las interfaces ICursor; los controles ADO utilizan la interfaz OLE DB IRowset. En ambos casos, las interfaces utilizadas por los controles devuelven un conjunto de filas.Los controles enlazados a datos basados en RDO se diseñaron para ofrecer un rendimiento óptimo con Visual Basic. Por ello, parte de la funcionalidad de los controles enlazados a datos de RDO, en particular la de formato, no está disponible para las aplicaciones de Visual C++. Este problema no existe en los controles de enlace de datos de ADO.
Controles de datos
Los controles de datos ADO implementan la interfaz IDataSource y los controles de datos de RDO implementan la interfaz IVBDSC. Puede llamar a un método de IDataSource para recibir un puntero a la interfaz IRowset. De forma similar, puede llamar a un método de IVBDSC para recibir un puntero a la interfaz ICursor.