MoGa Blog

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 :
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



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


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).

Comentaris

Afegir un comentari
  • Data: dimecres, 11 / 11 / 2009
  •  | 
  • Hora: 16:04

Autor: Convidat

como hago para eliminar un registro en particular?. Gracias