SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: supra en Lunes 28 de Junio de 2004, 22:51

Título: Sobre Reutilizar Los Recordsets
Publicado por: supra en Lunes 28 de Junio de 2004, 22:51
Hola:

En una aplicación que estoy desarrollando utilizo tres tablas en cuyos registros hago busquedas, ediciones, eliminaciones y agregar nuevo registros. Mi pregunta es que si es necesario crear y abrir un nuevo recordset para cada operación y tabla o se puede reutilizar un solo recordset que sea capaz de simplemente de utilizar la instrucción despues del Open?.

Y la pregunta: Como seria el codigo?

Gracias por leer mi mensaje.
Título: Re: Sobre Reutilizar Los Recordsets
Publicado por: Fernando_P en Jueves 1 de Julio de 2004, 11:03
Hola,
tu puedes reutilizar un recordset, cuantas veces quieras, debes preocuparte de la conexion a la que accede el recordset (el olbjeto connection) y el string de conexion que define la consulta que quieres obtener de la BD. Debes cerrar un recordset, para poder volver a utilizarlo.

El codigo seria como

cnn1 as new ADODB.Connection
rstest as new ADODB.recordset
strCon as string

cnn1.Open (string de conexion, donde defines la BD que vas a utilizar)

strCon="Defines la consulta SQL"
rstest.Open strCon,cnn1

...Haces algo con esos datos...

rstest.Close

strCon="Defines otra consulta"
rstest.Open strCon,cnn1

...HAces algo con los datos...

rstest.Close


cnn1.Close


Ojala te ayude.
Saludos!
Título: Re: Sobre Reutilizar Los Recordsets
Publicado por: Shiquilla en Jueves 1 de Julio de 2004, 11:36
Hola Supra, al cerrar un recordset (rs.Close) no lo eliminas en memoria. Si lo que quieres es borrar el objeto en memoria e inicializar el recordset tienes que poner:

Código: Text
  1. Set rs = Nothing
  2.  

Con esto ya tendrías el recordset totalmente inicializado y podrías abrirlo con otra sentencia SQL.

Lo mismo ocurre con otros objetos.

Saludos.
Título: Re: Sobre Reutilizar Los Recordsets
Publicado por: supra en Jueves 1 de Julio de 2004, 21:25
Gracias chicos, me han sido de mucha ayuda.