|Colima, Colima a 6 de julio del 2000
 

Universidad de Colima

Facultad de Telemática

Emmanuel Sánchez Ramírez

El modelo ADO

ADO es el sucesor de DAO y RDO. La funcionalidad de ADO 2.0 es prácticamente idéntica a la de RDO y en general existe una correspondencia de funciones similares en ambos modelos. ADO permite "allanar" el modelo de objetos empleado por DAO y RDO, en el sentido de que contiene menos objetos y más propiedades, métodos (y argumentos) y eventos. Por ejemplo, en ADO no existe un equivalente de los objetos rdoEngine y rdoEnvironment expuestos por el administrador de controladores ODBC y las interfaces hEnv. Tampoco es posible crear orígenes de datos ODBC desde ADO, a pesar de que puede exponer su propia interfaz a través del proveedor de servicios OLE DB de ODBC.

Muchas de las características incluidas en los modelos DAO y RDO fueron refundidas en objetos únicos para simplificar en gran medida el modelo de objetos. No obstante, debido a esto es posible que inicialmente encuentre dificultades cuando intente localizar un objeto, colección, propiedad, método o evento de ADO apropiado a sus necesidades. A diferencia de DAO y RDO, aunque los objetos ADO son jerárquicos, se pueden crear también fuera del alcance de la jerarquía.

Sin embargo, conviene tener en cuenta que ADO no admite actualmente toda la funcionalidad de DAO. ADO incluye principalmente funcionalidad para interactuar con los orígenes de datos OLE DB en una forma similar a RDO, así como operaciones remotas y tecnología DHTML. En general, dado el estado de la evolución de ADO, probablemente sea prematuro migrar directamente a ADO la mayoría de las aplicaciones DAO (excepto posiblemente las que utilizan ODBCDirect), ya que ADO no admite por el momento definición de datos (bibliotecas DDL), usuarios, grupos y otras características. Sin embargo, probablemente podrá migrar desde ahora a ADO si utiliza DAO únicamente para aplicaciones cliente-servidor y no se basa en el motor de base de datos Jet ni utiliza bibliotecas DDL. Con el tiempo, Microsoft proporcionará un componente DDL de ADO para facilitar la migración de DAO a ADO y compatibilidad genérica con DDL para los proveedores de OLE DB.


Los siguientes elementos son la parte clave del modelo de programación ADO:

· Connection

· Command

· Parameter

· Recordset

· Field

· Error

· Property

· Collection

· Event

Connection

El acceso desde la aplicación a un origen de datos se realiza a través de una conexión, el entorno necesario para el intercambio de datos.

Command

Un comando emitido a través de una conexión establecida manipula el origen de datos de algún modo. Normalmente el comando agrega, suprime o actualiza los datos del origen de datos, o recupera los datos de una tabla en forma de filas.

El modelo de objetos encarna el concepto de un comando con el objeto Command. La existencia de un objeto Command proporciona a ADO la oportunidad de optimizar la ejecución de un comando.

Command, objeto (ADO)

Un objeto Command es la definición de un comando específico que se piensa ejecutar contra un origen de datos.

CommandType, propiedad (ADO)

Indica el tipo de un objeto Command. Configuración y valores devueltos.

Establece o devuelve uno de los siguientes valores de CommandTypeEnum.

Tabla1

Método Execute (Command de ADO)

Ejecuta la consulta, la instrucción SQL o el procedimiento almacenado especificado en la propiedad CommandText.

Sintaxis

Para un Command que devuelva filas:

Set recordset = command.Execute(RecordsAffected, Parameters, Options)

Para un Command que no devuelva filas: command.Execute RecordsAffected, Parameters, Options Valor devuelto Devuelve una referencia a un objeto Recordset.

Parámetros RecordsAffected Opcional.

Una variable Long en la que el proveedor devuelve el número de registros afectados por la operación.

Parameters Opcional.

Una matriz Variant con los valores de los parámetros pasados con una instrucción SQL. (Los parámetros de salida no devuelven valores correctos cuando se pasan en este argumento).

Options Opcional. Un valor Long que indica cómo el proveedor tiene que evaluar la propiedad CommandText del objeto Command. Puede ser cualquiera de los siguientes:

Tabla2

Recordset

El objeto Recordset contiene los registros devueltos por una consulta, así como un cursor para dichos registros. La funcionalidad del objeto Recordset es similar a la funcionalidad del objeto rdoResultset de RDO. Puede abrir un objeto Recordset (por ejemplo, al realizar una consulta) sin abrir explícitamente un objeto Connection. No obstante, si opta por crear un objeto Connection, puede abrir múltiples objetos Recordset en la misma conexión.

El Recordset es el medio principal para examinar y modificar los datos de las filas.


Última revisión: 5 de Julio del 2000
© 2000 Emmanuel Corporation.

Todos los derechos reservados.

Emmanuel Sanchez Ramirez.

El objeto permite:

·Especificar qué filas están disponibles para examinar.

· Recorrer las filas.

· Especificar el orden en el que se pueden recorrer las filas.

· Agregar, cambiar o suprimir las filas.

· Actualizar el origen de datos con las filas cambiadas.

· Gestionar el estado general del Recordset.

Open, método (Recordset de ADO)

Abre un cursor. Sintaxis

recordset.Open Source, ActiveConnection, CursorType, LockType, Options

Parámetros Source Opcional.

Variant que da como resultado un nombre de variable de objeto Command válido, una instrucción SQL, un nombre de tabla, una llamada a un procedimiento almacenado o el nombre de archivo de un Recordset.

ActiveConnection Opcional.

Un Variant que da como resultado un nombre de variable de objeto Connection válido o un String que contiene parámetros ConnectionString.

CursorType Opcional.

Un valor CursorTypeEnum que determina el tipo de cursor que el proveedor debe usar al abrir el Recordset. Puede ser una de las siguientes constantes (vea la propiedad CursorType para obtener definiciones de estos valores).

LockType Opcional.

Un valor LockTypeEnum que determina el tipo de bloqueo (concurrencia) que debe usar el proveedor al abrir el Recordset. Puede ser una de las siguientes constantes (vea la propiedad LockType para obtener más información).

Tabla4

Options Opcional. Valor Long que indica cómo debe evaluar el proveedor el argumento Source si representa algo distinto que un objeto Command o que se debe restaurar el Recordset desde un archivo en el que se guardó anteriormente. Puede ser una de las siguientes constantes (vea la propiedad CommandType para obtener una explicación más detallada de las cinco primeras constantes de esta lista).

Tabla5

ActiveConnection, propiedad (ADO)

Indica a qué objeto Connection pertenece actualmente el objeto Command o el objeto Recordset especificado.

Field

Una fila de un Recordset consta de uno o más campos. Si imagina el Recordset como una cuadrícula de dos dimensiones, los campos se alinean para formar columnas. Cada campo (columna) tiene entre sus atributos un nombre, un tipo de datos y un valor. Es este valor el que contiene los datos reales del origen de datos. El modelo de objetos que encarna un campo es el objeto Field. Para modificar los datos en el origen de datos, se modifica el valor de los objetos Field de las filas Recordset. Finalmente, los cambios a un Recordset se envían al origen de datos. Como opción, los métodos de administración de transacción del objeto Connection pueden garantizar que los cambios se realizan correctamente o fallan a la vez. Contiene información acerca de una única columna de datos en el conjunto de registros. El funcionamiento del objeto Field es similar al del objeto rdoColumn de RDO.

Property Objeto.Properties(0) u Objeto.Properties("Name").

Un objeto Property dinámico tiene cuatro propiedades incorporadas propias:

· La propiedad Name es una cadena que identifica la propiedad.

· La propiedad Type es un entero que especifica el tipo de datos de la propiedad.

· La propiedad Valor es un variant que contiene el valor de la propiedad.

· La propiedad Attributes es un valor Long que indica características de la propiedad específicas del proveedor.

Collection

ADO proporciona colecciones, un tipo de objeto que contiene otros objetos de un tipo concreto. Los objetos en una colección se pueden recuperar con un método de colección bien por el nombre, como una cadena de texto, o por un ordinal, como un número entero.

ADO proporciona cuatro tipos de colecciones:

· El objeto Connection contiene la colección Errors, que contiene todos los objetos de Error creados en respuesta a un fallo único que implica al origen de datos.

· El objeto Command contiene la colección Parameters, que contiene todos los objetos Parameter que se aplican al objeto de ese Command.

· El objeto Recordset contiene la colección Fields, que contiene todos los objetos Field que definen las columnas de ese objeto Recordset.

· Además, los objetos Connection, Command, Recordset y Field tienen una colección Properties, que contienen todos los objetos Property que se aplican a los objetos que contienen respectivamente.

Events Existen dos familias de eventos:

· ConnectionEvents:

Eventos emitidos cuando comienzan transacciones en una conexión, se confirman o se deshacen, cuando se ejecuta un Command, y cuando se inicia o acaba una Connection.

· RecordsetEvents:

Eventos emitidos para informar del progreso de la recuperación de los datos, cuando se exploran las filas de un objeto Recordset, cuando se cambia un campo en una fila de un recordset, cuando se cambia una fila en un recordset o cuando se realiza cualquier cambio en el recordset completo.

Tabla6


ID Artículo: PRESENTACUÓN

Última revisión:
5-JULIO-2000

Ofrecido por:

Emmanuel Sánchez Ramírez