Objeto Recordset ADO

Ejemplo

GetRows
Este ejemplo muestra cómo usar el método GetRows.

Objeto Recordset

El objeto Recordset de ADO se utiliza para contener un conjunto de registros de una tabla de bases de datos. Un objeto Recordset está compuesto por registros y columnas (campos).

En ADO, este objeto es el más importante y se utiliza con mayor frecuencia para operar con datos de bases de datos.

ProgID

set objRecordset=Server.CreateObject("ADODB.recordset")

Cuando abre por primera vez un Recordset, el puntero de registro actual se dirige al primer registro, y las propiedades BOF y EOF son False. Si no hay registros, las propiedades BOF y EOF son True.

El objeto Recordset puede soportar dos tipos de actualizaciones:

  • Actualización inmediata - Una vez llamado el método Update, todos los cambios se escriben inmediatamente en la base de datos.
  • Actualización por lotes - El proveedor almacenará múltiples cambios y luego los transmitirá al bases de datos utilizando el método UpdateBatch.

En ADO, se definen 4 tipos diferentes de cursor (puntero):

  • Cursor dinámico - Permite ver las adiciones, cambios y eliminaciones realizados por otros usuarios
  • Cursor de conjunto de claves - Similar al cursor dinámico, la diferencia es que no puede ver las adiciones realizadas por otros usuarios y evitará que acceda a los registros eliminados por otros usuarios. Los cambios de datos realizados por otros usuarios aún son visibles.
  • Cursor estático - Proporciona una copia estática del conjunto de registros, que se puede usar para buscar datos o generar informes. Además, las adiciones, cambios y eliminaciones realizadas por otros usuarios serán invisibles. Cuando se abre un objeto Recordset del cliente, este es el único tipo de cursor permitido.
  • Cursor solo hacia adelante - solo permite desplazarse hacia adelante en el Recordset. Además, las adiciones, cambios y eliminaciones realizadas por otros usuarios serán invisibles.

El tipo de cursor se puede establecer a través de la propiedad CursorType o el parámetro CursorType en el método Open.

Notas:No todos los proveedores (providers) admiten todos los métodos y propiedades del objeto Recordset.

Atributo

Atributo Descripción
AbsolutePage Establecer o devolver un valor que especifica la página del objeto Recordset.
AbsolutePosition Establecer o devolver un valor que especifica la posición ordinal (posición numérica) del registro actual en el objeto Recordset.
ActiveCommand Devolver el objeto Command asociado al objeto Recordset.
ActiveConnection Si la conexión está cerrada, establecer o devolver la definición de la conexión; si la conexión está abierta, establecer o devolver el objeto Connection actual.
BOF Devolver true si la posición del registro actual está antes del primer registro, de lo contrario devolver false.
Bookmark Establecer o devolver un marcador. Este marcador guarda la posición del registro actual.
CacheSize Establecer o devolver el número de registros que pueden ser almacenados en caché.
CursorLocation Establecer o devolver la ubicación del servicio de cursor.
CursorType Establecer o devolver el tipo de cursor de un objeto Recordset.
DataMember Establecer o devolver el nombre del miembro de datos que se debe recuperar del objeto al que se hace referencia en la propiedad DataSource.
DataSource Especificar un objeto que contiene los datos que se deben representar como objeto Recordset.
EditMode Devolver el estado de edición del registro actual.
EOF Devolver true si la posición del registro actual está después del último registro, de lo contrario devolver false.
Filter Devolver un filtro para los datos del objeto Recordset.
Index Establecer o devolver el nombre del índice actual del objeto Recordset.
LockType Establecer o devolver un valor que permite especificar el tipo de bloqueo cuando se edita un registro en el Recordset.
MarshalOptions Establecer o devolver un valor, que especifica qué registros se devuelven al servidor.
MaxRecords Establece o devuelve el número máximo de registros que se pueden obtener de una consulta para un objeto Recordset.
PageCount Devuelve el número de páginas de datos en un objeto Recordset.
PageSize Establece o devuelve el número máximo de registros permitidos en una única página del objeto Recordset.
RecordCount Devuelve el número de registros en un objeto Recordset.
Sort Establece o devuelve el nombre de un campo o varios campos utilizados como base de sorting para el Recordset.
Source Establece un valor de cadena, una referencia a un objeto Command o devuelve un valor de cadena que indica el origen de datos del objeto Recordset.
State Devuelve un valor que describe si el objeto Recordset está abierto, cerrado, conectando, ejecutando o recuperando datos.
Status Devuelve el estado actual del registro en relación con una actualización por lotes u otras operaciones masivas.
StayInSync Establece o devuelve si la referencia a los registros hijos cambia cuando cambia la posición del registro padre.

Método

Método Descripción
AddNew Crea un nuevo registro.
Cancel Deshace una ejecución.
CancelBatch Deshace una actualización por lotes.
CancelUpdate Deshace los cambios realizados en un registro del objeto Recordset.
Clone Crea una copia de un Recordset existente.
Close Cierra un Recordset.
CompareBookmarks Comparar dos marcadores.
Delete Elimina un registro o un grupo de registros.
Find Busca un registro en un Recordset que cumpla con una condición específica.
GetRows Copia múltiples registros de un objeto Recordset a un array bidimensional.
GetString Devuelve el Recordset como una cadena.
Move Mueve el puntero de registro en el objeto Recordset.
MoveFirst Mueve el puntero de registro al primer registro.
MoveLast Mueve el puntero de registro al último registro.
MoveNext Mueve el puntero de registro a la entrada siguiente.
MovePrevious Mueve el puntero de registro a la entrada anterior.
NextRecordset Limpia el objeto Recordset actual ejecutando una serie de comandos y devuelve el siguiente Recordset.
Abrir Abre un elemento de base de datos, que proporciona acceso a los registros de la tabla, los resultados de la consulta o el Recordset guardado.
Requery Actualiza los datos en el objeto Recordset reejecutando la consulta sobre la que se basa el objeto.
Resync Actualiza los datos en el Recordset actual desde la base de datos original.
Save Guarda el objeto Recordset en un archivo o objeto Stream.
Seek Busca en los índices del Recordset para ubicar rápidamente una fila que coincida con un valor especificado y convertirla en la fila actual.
Supports Devuelve un valor booleano que define si el objeto Recordset admite un tipo específico de funcionalidad.
Update Guarda todos los cambios realizados en un solo registro del objeto Recordset.
UpdateBatch Guarda todos los cambios en la base de datos de todos los Recordset. Utilízalo en modo de actualización por lotes.

Evento

Nota: No se pueden manejar eventos utilizando VBScript o JScript (sólo los lenguajes Visual Basic, Visual C++ y Visual J++ pueden manejar eventos).

Evento Descripción
EndOfRecordset Se desencadena cuando se intenta mover a una fila que está más allá del final del Recordset.
FetchComplete Se desencadena cuando se hayan leído todos los registros en la operación asincrónica.
FetchProgress Se desencadena regularmente durante la operación asincrónica, informando cuántos registros se han leído.
FieldChangeComplete Se desencadena cuando se cambia el valor del objeto Field.
MoveComplete Se desencadena después de cambiar la posición actual en el Recordset.
RecordChangeComplete Se desencadena después de cambiar un registro.
RecordsetChangeComplete Se desencadena después de cambiar el Recordset.
WillChangeField Se desencadena antes de cambiar el valor del objeto Field.
WillChangeRecord Se desencadena antes de cambiar un registro.
WillChangeRecordset Se desencadena antes de cambiar el Recordset.
WillMove Se desencadena antes de cambiar la posición actual en el Recordset.

Conjunto

Conjunto Descripción
Fields Indica la cantidad de objetos Field en este objeto Recordset.
Properties Incluye todos los objetos Property en todos los Recordset.

Atributos del conjunto de campos

Atributo Descripción
Count

Devuelve el número de proyectos en el conjunto de campos. Comienza en 0.

Ejemplo:

	countfields = rs.Fields.Count
	
Item(named_item/number)

Devuelve un proyecto específico del conjunto de campos.

Ejemplo:

	itemfields = rs.Fields.Item(1)
	o	
	itemfields = rs.Fields.Item("Name")
	

Atributos del conjunto de propiedades

Atributo Descripción
Count

Devuelve el número de proyectos en el conjunto de propiedades. Comienza en 0.

Ejemplo:

	countprop = rs.Properties.Count
	
Item(named_item/number)

Devuelve un proyecto específico del conjunto de propiedades.

Ejemplo:

	itemprop = rs.Properties.Item(1)
	o
	itemprop = rs.Properties.Item("Name")