lunes, 31 de mayo de 2010

TEMA 3: Objetos ADO

Command, objeto (ADO) Descripción
Un objeto Command es la definición de un comando específico que se piensa ejecutar contra un origen de datos.
Utilice un objeto Command para consultar una base de datos y obtener registros en un objeto Recordset para ejecutar una operación de manejo masivo de datos o para manipular la estructura de una base de datos. Dependiendo de la funcionalidad del proveedor, algunas colecciones, métodos o propiedades de Command pueden generar un error cuando se les haga referencia. Con las colecciones, métodos y propiedades de un objeto Command, puede hacer lo siguiente:
· Definir el texto ejecutable del comando (por ejemplo, una instrucción SQL) con la propiedad CommandText.
· Definir consultas parametrizadas o argumentos de procedimientos almacenados con los objetos Parameter y la colección Parameters.
· Ejecutar un comando y obtener un objeto Recordset si resulta apropiado con el método Execute.
· Especificar el tipo de comando con la propiedad CommandType antes de la ejecución para optimizar el rendimiento.
· Controlar con la propiedad Prepared, si el proveedor guarda una versión preparada (o compilada) del comando antes de la ejecución.
· Establecer el número de segundos que un proveedor esperará que el comando se ejecute con la propiedad CommandTimeout.
· Asociar una conexión abierta con un objeto Command estableciendo su propiedad ActiveConnection.
· Establecer la propiedad Name para identificar el objeto Command como un método del objeto Connection asociado.
· Pasar un objeto Command a la propiedad Source de un Recordset para obtener los datos.
Nota: Para ejecutar una consulta sin utilizar un objeto Command, pase una cadena de consulta al método Execute de un objeto Connection o al método Open de un objeto Recordset. Sin embargo, se requiere un objeto Command cuando quiera que el texto del comando persista y volver a ejecutarlo, o utilizar parámetros en la consulta.
Para crear un objeto Command independientemente de un objeto Connection previamente definido, establezca su propiedad ActiveConnection a una cadena de conexión válida. ADO sigue creando un objeto Connection, pero no asigna dicho objeto a una variable de objeto. Sin embargo, si va a asociar varios objetos Command con la misma conexión, tiene que crear y abrir de forma explícita un objeto Connection; esto asigna el objeto Connection a una variable de objeto. Si no establece la propiedad ActiveConnection de los objetos Command a esta variable de objeto, ADO crea un nuevo objeto Connection por cada objeto Command, incluso si utiliza la misma cadena de conexión. Para ejecutar un Command, sólo invóquelo utilizando su propiedad Name en el objeto Connection asociado. El objeto Command ha de tener su propiedad ActiveConnection establecida al objeto Connection. Si el objeto Command tuviera parámetros, pase los valores de los parámetros como argumentos del método.
Propiedades
Propiedad ActiveConnection (ADO), Propiedad CommandTect (ADO), Propiedad
CommandTimeout (ADO), Propiedad CommandType (ADO), Propiedad Prepared (ADO), Propiedad State (ADO).
Métodos
Método Cancel (ADO), Método CreateParameter (ADO), Método Execute (ADO Command), Método Execute (ADO Connection).
Colecciones
Colección Properties, Colección Parameters.

Connection, objeto (ADO) Descripción
Un objeto Connection representa una conexión abierta con un origen de datos.
Un objeto Connection representa una sesión única con un origen de datos. En el caso de un sistema de base de datos cliente/servidor, puede ser equivalente a una conexión de red actual con el servidor. Dependiendo de la funcionalidad que acepte el proveedor, algunas colecciones, métodos o propiedades de un objeto Connection puede que no estén disponibles. Mediante las colecciones, métodos y propiedades de un objeto Connection puede hacer lo siguiente:
· Configurar la conexión antes de abrirla con las propiedades ConnectionString, ConnectionTimeout y Mode.
· Establecer la propiedad CursorLocation para invocar al Client Cursor Provider, que acepta actualizaciones por lotes.
· Establecer la base de datos predeterminada para la conexión con la propiedad DefaultDatabase.
· Establecer el nivel de aislamiento de las transacciones abiertas en la conexión con la propiedad IsolationLevel.
· Especificar un proveedor de OLE DB con la propiedad Provider.
· Establecer, y después romper, la conexión física con el origen de datos con los métodos Open y Close.
· Ejecutar un comando en la conexión con el método Execute y configurar la ejecución con la propiedad CommandTimeout.
· Administrar transacciones en la conexión abierta, incluyendo transacciones anidadas si el proveedor las acepta, con los métodos BeginTrans, CommitTrans y Rolí-backjrans y la propiedad Attributes.
· Examinar los errores devueltos por el origen de datos con la colección Errors.
· Leer la versión de la implementación de ADO en uso con la propiedad Version.
· Obtener información del esquema de la base de datos con el método OpenSchema.
Nota: Para ejecutar una consulta sin utilizar un objeto Command, pase una cadena de consulta al método Execute de un objeto Connection. Sin embargo, se requiere un objeto Command cuando se quiere que el texto del comando persista y se vuelva a ejecutar, o utilice parámetros en la consulta.
Puede crear objetos Connection de forma independiente de cualquier objeto previamente definido.
Nota: Se pueden ejecutar comandos o procedimientos almacenados como si fuesen métodos nativos del objeto Connection.
Para ejecutar un comando, dé un nombre al comando mediante la propiedad Name del objeto Command. Establezca la propiedad ActiveConecction del objeto Command como la conexión. Después emita una instrucción donde el nombre del comando se utilice como si fuese un método del objeto Connection, seguido de cualquier parámetro, seguido de un objeto Recordset si se devuelve alguna fila. Establezca las propiedades del Recordset para personalizar el conjunto de registros resultante:
Para ejecutar un procedimiento almacenado, emita una instrucción donde se utilice el nombre del procedimiento almacenado como si fuese un método del objeto Connection, seguido de sus parámetros. ADO realizará una "mejor suposición" de los tipos de parámetros
Propiedades
Propiedad Attributes (ADO), Propiedad CommandTimeout (ADO), Propiedad ConnectionString (ADO), Propiedad ConnectjonTimeout (ADO), Propiedad CursorLocation (ADO), Propiedad DefaultIDatabase (ADO), Propiedad IsolationLevel (ADO), Propiedad Mode (ADO), Propiedad Provider (ADO), Propiedad State (ADO), Propiedad Version (ADO). Objetos ADO 1315
Métodos
Métodos BeginTrans, CommitTrans y RollbackTrans (ADO>, Método Cancel (ADO), Método Close (ADO), Método Execute (Comando ADO), Método Execute (Conexión ADO), Método Open (Conexión ADO), Método Open (Conjunto de Registros ADO), Método OpenSchema (ADO), Método Save (Conjunto de Registros ADO).
Colecciones
Colección Properties, Colección Errors.

Error, objeto (ADO) Descripción
Un objeto Error contiene los detalles sobre los errores de acceso a los datos pertenecientes a una única operación relacionada con el proveedor.
Cualquier operación relacionada con objetos ADO puede generar uno o varios errores del proveedor. Al ocurrir los errores, uno o varios objetos Error se agregan a la colección Errors del objeto Connection. Cuando otra operación ADO genera un error, se borra la colección Errors y el nuevo conjunto de objetos Error se agrega a la colección Errors.
Nota: Cada objeto Error representa un error del proveedor concreto, no un error de ADO. Los errores de ADO pasan al mecanismo de control de excepciones de ejecución. Por ejemplo, en Microsoft Visual Basic, la ocurrencia de un error concreto de ADO desencadenará un evento On Error y aparecerá en el objeto Err. Para obtener la lista completa de los errores de ADO, vea el tema Códigos de error ADO tema.
Puede leer las propiedades de un objeto Error para obtener detalles específicos sobre cada error, incluyendo los siguientes:
· La propiedad Description, que contiene el texto del error.
· La propiedad Number, que contiene el valor entero Long de la constante del error.
· La propiedad Source, que identifica el objeto que ha provocado el error. Esto es particularmente útil cuando tiene varios objetos Error en la colección Errors después de una petición a un origen de datos.
· Las propiedades SQLState y NativeError, que proporcionan información desde orígenes de datos SQL.
Cuando ocurre un error en el proveedor, se agrega a la colección Errors del objeto Connection. ADO acepta la devolución de varios errores por una misma operación ADO para permitir tener acceso a la información de error específica del proveedor. Para obtener esta rica información de error en un controlador de errores, utilice las funciones de interceptación de errores apropiadas de su lenguaje o entorno de trabajo y después utilice bucles anidados para enumerar las propiedades de cada objeto Error de la colección Errors.
Microsoft Visual Basic y VBScript. Si no hay un objeto Connection válido, tendrá que obtener la información de error desde el objeto Err.
Igual que los proveedores, ADO borra el objeto OLE Error Info antes de hacer una llamada que pueda generar un nuevo error del proveedor. Sin embargo, la colección Errors del objeto Connection sólo se borra y se llena cuando el proveedor genera un nuevo error, o cuando se invoca el método Clear. Algunas propiedades y métodos devuelven advertencias que aparecen como objetos Error en la colección Errors, pero no detienen la ejecución de los programas. Antes de invocar los métodos Resync, UpdateBatch o CancelBatcb de un objeto Recordset, el método Open de un objeto Connection, o de establecer la propiedad Filter de un objjeto Recordset, invoque el método Clear de la colección Errors para que pueda leer la propiedad Count de la colección Errors y comprobar las advertencias devueltas.
Propiedades
Propiedad Description (ADO), Propiedad NaviteError (ADO), Propiedad Number (ADO), Propiedad Source (ADO Error), Propiedad SQLState (ADO), Archivo Help.

Field, objeto (ADO)
Un objeto Field representa una columna de datos con un tipo de datos comun.
Un objeto Recordset tiene una colección Fields que consiste en varios objetos Field. Cada objeto Field se corresponde con una columna del Recordset. La propiedad Value de los objetos Field se utiliza para establecer u obtener los datos del registro actual. Dependiendo de la funcionalidad ofrecida por el proveedor, algunas colecciones, métodos o propiedades de un objeto Field puede que no estén disponibles.
Con las colecciones, métodos y propiedades de un objeto Field, puede hacer lo siguiente:
· Obtener el nombre de un campo con la propiedad Name.
· Ver o modificar los datos del campo con la propiedad Value.
· Obtener las características básicas de un campo con las propiedades Type, Precision y NumericScale. · Obtener el tamaño declarado de un campo con la propiedad DefinedSize.
· Obtener el tamaño actual de los datos de un campo dado con la propiedad ActualSize.
· Determinar qué tipos de funcionalidad se aceptan para un campo dado con la propiedad Attributes y la colección Properties.
· Manipular los valores de los campos que contengan datos binarios o de gran tamaño con los métodos AppendChunk y GetChunk. · Si el proveedor acepta actualizaciones por lotes, resolver discrepancias en los valores de tos campos durante una actualización por lotes con las propiedades OriginalValue y UnderlyingValue.
Todas las propiedades de metadatos (Name, Type, DefinedSize, Precision y NumericScale) están disponibles antes de abrir el Recordset del objeto Field. Su establecimiento en tal momento es útil en la generación dinámica de formularios.
Propiedades Propiedad ActualSize (ADO), Propiedad Attributes (ADO), Propiedad DefinedSize (ADO), Propiedad Name (ADO), Propiedad NumericScale (ADO), Propiedad OriginalValue (ADO), Propiedad Precision (ADO), Propiedad Type (ADO), Propiedad UnderlyingValue (ADO), Propiedad Value (ADO).
Métodos Método AppendChunk (ADO), Método GetChunk (ADO).
Colecciones Colección Properties.

Parameter, objeto (ADO)
Un objeto Parameter representa un parámetro o un argumento asociado con un objeto Command basado en una consulta parametrizada o en un procedimiento almacenado.
Muchos proveedores aceptan comandos parametrizados. Estos son comandos en los que la acción deseada está definida una sola vez, pero se utilizan variables (o parámetros) para alterar algunos detalles del comando. Por ejemplo, una instrucción SQL SELECT podría utilizar un parámetro para definir los criterios de búsqueda de la cláusula WHERE, y otro para definir el nombre de la columna de la cláusula SORT BY. Los objetos Parameter representan parámetros asociados con consultas parametrizadas, o los argumentos de entrada/salida y los valores devueltos por los procedimientos almacenados. Dependiendo de la funcionalidad del proveedor, algunas colecciones, métodos o propiedades de un objeto Parameter puede que no estén disponibles. Con las colecciones, métodos y propiedades de un objeto Parameter, puede hacer lo siguiente:
· Establecer u obtener el nombre de un parámetro con la propiedad Name.
· Establecer u obtener el valor de un parámetro con la propiedad Value.
· Establecer u obtener características de un parámetro con las propiedades Attributes, Direction, Precision, NumericScale. Size y Type.
· Pasar datos binarios o de gran tamaño a un parámetro con el método AppendChunk.
Si conoce los nombres y las propiedades de los parámetros asociados con el procedimiento almacenado o la consulta parametrizada a la que vaya a invocar, puede utilizar el método Createparameter para crear objetos Parameter con los valores apropiados y utilizar el método Append para agregarlos a la colección Parameters. Esto le permite establecer y obtener valores de parámetros sin tener que invocar el método Refresh de la colección Parameters para obtener información de los parámetros desde el proveedor, una operación que potencialmente consume bastantes recursos.
Propiedades
Propiedad Attributes (ADO), Propiedad Direction (ADO), Propiedad Name (ADO>, Propiedad NumericScale (ADO), Propiedad Precision (ADO), Propiedad Size (ADO), Propiedad Type (ADO), Propiedad Value (ADO).
Métodos
Método AppendChunk (ADO), Método Delete (Colección de parámetros ADO), Método Delete (Conjunto de Registros ADO).
Colecciones
Colección Properties.

Recordset, objeto (ADO)
Un objeto Recordset representa todo el conjunto de registros de una tabla o del resultado de un comando ejecutado. En cualquier momento, el objeto Recordset sólo hace referencia a un único registro dentro del conjunto, llamado registro actual.
Los objetos Recordset se utilizan para manipular los datos de un proveedor. Cuando se utiliza ADO, se manipulan los datos casi completamente con objetos Recordset. Tollos los objetos Recordset se construyen utilizando registros (filas) y campos (columnas). Dependiendo de la funcionalidad aceptada por el proveedor, algunos métodos o propiedades del objeto Recordset puede que no estén disponibles.
ADOR.Recordset y ADODB.Recordset son ProgID que se utilizan para crear objetos Recordset. Los objetos Recordset que resultan se comportan de forma idéntica, independientemente del ProgID. ADOR.Recordset se instala con Internet Explorer de Microsoft®; ADODB.Recordset se instala con ADO. El comportamiento de un objeto Recordset esta afectado por su entorno (esto es, cliente, servidor, Internet Explorer, etc.). Las diferencias se describen en los temas de Ayuda de sus propiedades. métodos y eventos. Hay cuatro tipos diferentes de cursores en ADO:
· Cursor dinámico: le permite ver inserciones, modificaciones y eliminaciones de otros usuarios, y permite todos los tipos de movimientos a través del Recordset que estén relacionados con marcadores; permite marcadores si el proveedor los acepta.
· Cursor de conjunto de claves: se comporta como un cursor dinámico, excepto que impide ver registros agregados por otros usuarios, e impide el acceso a registros eliminados por otros usuarios. Las modificaciones en los datos efectuadas por otros usuarios siguen siendo visibles. Acepta siempre marcadores y, por tanto, permite todos los tipos de movimientos a través del Recordset.
· Cursor estático: proporciona una copia estática de un conjunto de registros para que se utilicen en búsquedas de datos o para generar informes; permite siempre los marcadores y, por tanto, permite todos los tipos de movimientos a través del Recordset. Las inserciones, modificaciones o eliminaciones efectuadas por otros usuarios no serán visibles. Este es el único tipo de cursor permitido cuando se abre un objeto Recordset en el lado del cliente (ADOR).
· Cursor de tipo Forward-only: se comporta de forma idéntica al cursor dinámico, excepto en que sólo le permite recorrer los registros hacia delante. Esto aumenta el rendimiento en situaciones en las que sólo tenga que efectuar un paso a través de un Recordset.
Establezca la propiedad CursorType antes de abrir el Recordset para elegir el tipo de cursor, o pase un argumento CursorType con el método Open. Algunos proveedores no aceptan todos los tipos de cursores. Compruebe la documentación del proveedor. Si no se especifica el tipo del cursor, ADO abre un cursor de tipo Forward-only de manera predeterminada. Cuando se utilizan con algunos proveedores (como Microsoft ODBC Provider para OLE DB junto con Microsoft SQL Server), se pueden crear objetos Recordset independientemente de un objeto Connection definido previamente pasando una cadena de conexión al método Open. ADO sigue creando un objeto Connection, pero no asigna dicho objeto a una variable de objeto. Sin embargo, si se están abriendo varios objetos Recordset en la misma conexión, se tiene que crear y abrir explícitamente un objeto Connection; así se asigna el objeto Connection a una variable de objeto. Si no se utiliza dicha variable de objeto cuando se abren los objetos Recordset, ADO crea un nuevo objeto Connection por cada nuevo Recordset, incluso si se pasa la misma cadena de conexión. Se pueden crear tantos objetos Recordset como sea necesario. Cuando se abre un Recordset, el registro actual está situado en el primer registro (si lo hay) y las propiedades BOBy EOF están establecidas a False. Si no hay registros, los valores de las propiedades BOF y EOF son True. Pueden utilizarse los métodos Movelfirst, MoveLast, MoveNext y MovePrevious, así como el método Move, y las propiedades AbsolutePosition, AbsolutePage y Filter para volver a colocar el registro actual, asumiendo que el proveedor acepta la funcionalidad necesaria. Los objetos Recordset de tipo Forward-only sólo aceptan el método MoveNext. Cuando se utilizan métodos Move para visitar todos los registros (o para enumerar el Recordset), se puede utilizar las propiedades BOF y EOF para saber si ha llegado al principio o al final del Recordset. Los objetos Recordset pueden aceptar dos tipos de actualización: inmediata y por lotes. En la actualización inmediata, todas las modificaciones se escriben inmediatamente en el origen de datos después de invocar el método Update. También se pueden pasar matrices de valores como parámetros en los métodos AddNew y Update y actualizar de forma simultánea varios campos de un registro. Si un proveedor acepta la actualización por lotes, se puede hacer que el proveedor guarde en la caché las modificaciones efectuadas en varios registros y transmitirlos después en una sola llamada a la base de datos con el método UpdateBatch. Esto se aplica a las modificaciones efectuadas con los métodos AddNew, Update y Delete. Después de invocar el método UpdateBatch, se puede utilizar la propiedad Status para comprobar si ha habido algún conflicto en los datos para resolverlo.
Nota: Para ejecutar una consulta sin utilizar un objeto Command, pase una cadena de consulta al método Open de un objeto Recordset. Sin embargo. se requiere un objeto Command cuando quiera que el texto del comando persista para volver a ejecutarlo, o cuando utilice parámetros en la consulta.
Propiedades
Propiedad AbsolutePage (ADO), Propiedad AbsolutePosition (ADO), Propiedad ActiveConnection (ADO), Propiedad BOF, EOF (ADO), Propiedad Bookmark (ADO), Propiedad CacheSize (ADO), Propiedad CursorLocation (ADO), Propiedad CursorType (ADO), Propiedad EditMode (ADO), Propiedad F'ilter (ADO), Propiedad LockType (ADO), Propiedad MarshalOption (ADO), Propiedad MaxRecords (ADO), Propiedad PageCount (ADO), Propiedad PageSize (ADO), Propiedad RecordCount (ADO), Propiedad Source (Conjunto de Registros ADO), Propiedad State (ADO), Propiedad Status (ADO).
Métodos
Método AddNew (ADO), Método Cancel (ADO), Método CancelBatch (ADO), Método CancelUpdate (ADO), Método Clone (ADO), Método Delete (Colección de parámetros ADO). Método Delete (Colección de campos ADO), Método Delete (Conjunto dc registros ADO), Método Move (ADO), Métodos MoveFirst, MoveLast, MoveNext y MovePrevious (ADO), Método NextRecordset (ADO), Método Open (Conexión ADO) Método Open (Conjunto de regi~tros ADO), Método Requery (ADO), Método Resync (ADO), Método Save (Conjunto de registros ADO), Método Supports (ADO). Método Update (ADO), Método UpdateBatch (ADO).

No hay comentarios:

Publicar un comentario