Trucos Cerrar conexiones implícitas en VB 6.0

En Visual Basic 6.0 es posible abrir objetos recordsets independientes sin asociarlos a ninguna conexión. Esto es posible gracias al carácter no jerárquico del modelo de programación de ADO.

No obstante, cada vez que se abre un recordset de este tipo, se crea una conexión implícita. Esto supone que si el objeto recordset se cierra y se abre varias veces en el código del proyecto, se crearán tantas nuevas conexiones como veces se haya abierto el objeto recordset. Estas conexiones permanecerán abiertas hasta cerrar el proyecto.
Para impedir esto, y conseguir cerrar la conexión implícita a cada recordset independiente, se puede utilizar la siguiente técnica, que asocia a una variable Connection la conexión implícita a un recordset independiente, cerrando dicha conexión antes de reabrir el recordset.

Dim rst1 As New ADODB.Recordset
Dim cnn As New ADODB.Connection

Private Sub Command1_Click()
rst1.Open "authors", "Provider = sqloledb;DataSource=myServer;" & _
          "Initial Catalog=pubs;User Id=sa;Password=;", adOpenStatic, _
          adLockReadOnly
End Sub

Private Sub Command2_Click()
Set cnn = rst1.ActiveConnection
rst1.Close
cnn.Close
rst1.Open "publishers","Provider = sqloledb;Data Source=myServer;" & _
          "Initial Catalog=pubs;User Id=sa;Password=;", adOpenStatic, _
          adLockOptimistic
End Sub



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com