dimecres, 04 / 01 / 2006
Recordsets sin conexión
Introducción
Un recordset sin conexión es aquel que no precisa de una conexión a una base de datos. En el podrá almacenar datos que, en lugar de ser salvados en una base de datos, son salvados en disco con un formato especial denominado ADTG.
Como esta clase de recordsets no se establece ningún tipo de conexión con una base de datos; es preciso declarar su estructura la primera vez que se use. Luego, esta estructura se salvará en el disco junto al contenido del recordset.
Esta clase de operaciones con el objeto recordset resulta ideal para manipular pequeñas tablas locales como, por ejemplo :
o La configuración de una aplicación.
o Descripciones de usuarios de una aplicación.
etc.
Crear un recordset nuevo.
Para crear un recordset personalizado debe añadir la biblioteca "Microsoft ActiveX Data Objects". Con esta biblioteca podrá utilizar la colección ADODB. Y con esta colección podrá declarar la siguiente sentencia :
Como esta clase de recordsets no se asisten de una base de datos no tienen estructura, (a no ser que abra un recordset previamente salvado como adPersistADTG). Para crear la estructura de un recordset nuevo utilize la sentencia :
En el ejemplo adjunto a este documento hemos creado 3 campos de la siguiente forma :
Con esto ya tenemos listo nuestro recordset para añadir datos.
Añadir datos al recordset.
A partir de este punto puede utilizar todos los comandos de ADO para manejar esta clase de recordsets.
Para poder utilizar el recordset nuevo, es preciso abrirlo antes con la sentencia :
Si el recordset ya existe en disco, podemos abrirlo para manipular sus datos y estructura con la sentencia :
Donde "Nombre" es el archivo en disco en el que se guardó.
Un ejemplo para añadir un registro a nuestro recordset seria :
Salvar el recordset a disco.
Como se ha podido comprovar, no se ha utilizado una conexión con una base de datos. Por lo tanto los datos añadidos no se han salvado en ninguna parte. Para que los datos del recordset, (incluida su estructura), persistan y puedan ser utilizados en otra sesión, debe salvarse a disco. La sentencia para ello es :
Donde "Nombre" es el archivo a disco del recordset, (incluido el path).
Un recordset sin conexión es aquel que no precisa de una conexión a una base de datos. En el podrá almacenar datos que, en lugar de ser salvados en una base de datos, son salvados en disco con un formato especial denominado ADTG.
Como esta clase de recordsets no se establece ningún tipo de conexión con una base de datos; es preciso declarar su estructura la primera vez que se use. Luego, esta estructura se salvará en el disco junto al contenido del recordset.
Esta clase de operaciones con el objeto recordset resulta ideal para manipular pequeñas tablas locales como, por ejemplo :
o La configuración de una aplicación.
o Descripciones de usuarios de una aplicación.
etc.
Crear un recordset nuevo.
Para crear un recordset personalizado debe añadir la biblioteca "Microsoft ActiveX Data Objects". Con esta biblioteca podrá utilizar la colección ADODB. Y con esta colección podrá declarar la siguiente sentencia :
Dim reco as ADODB.Recordset
Como esta clase de recordsets no se asisten de una base de datos no tienen estructura, (a no ser que abra un recordset previamente salvado como adPersistADTG). Para crear la estructura de un recordset nuevo utilize la sentencia :
reco.Fields.Append Nombre, tipo, tamaño, atributos
En el ejemplo adjunto a este documento hemos creado 3 campos de la siguiente forma :
reco.Fields.Append "Nombre", adVarChar, 50
reco.Fields.Append "email", adVarChar, 30
reco.Fields.Append "Calificacion", adInteger
reco.Fields.Append "email", adVarChar, 30
reco.Fields.Append "Calificacion", adInteger
Con esto ya tenemos listo nuestro recordset para añadir datos.
Añadir datos al recordset.
A partir de este punto puede utilizar todos los comandos de ADO para manejar esta clase de recordsets.
Para poder utilizar el recordset nuevo, es preciso abrirlo antes con la sentencia :
reco.Open
Si el recordset ya existe en disco, podemos abrirlo para manipular sus datos y estructura con la sentencia :
reco.Open Nombre
Donde "Nombre" es el archivo en disco en el que se guardó.
Un ejemplo para añadir un registro a nuestro recordset seria :
reco.AddNew
reco("Nombre") = "Quimi Portet"
reco("email") = "quimi@ultimo.com"
reco("Calificacion") = 9
reco.Update
reco("Nombre") = "Quimi Portet"
reco("email") = "quimi@ultimo.com"
reco("Calificacion") = 9
reco.Update
Salvar el recordset a disco.
Como se ha podido comprovar, no se ha utilizado una conexión con una base de datos. Por lo tanto los datos añadidos no se han salvado en ninguna parte. Para que los datos del recordset, (incluida su estructura), persistan y puedan ser utilizados en otra sesión, debe salvarse a disco. La sentencia para ello es :
reco.Save Nombre, adPersistADTG
Donde "Nombre" es el archivo a disco del recordset, (incluido el path).

