Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/07/2005, 02:26
Jmcc
 
Fecha de Ingreso: mayo-2005
Mensajes: 122
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta ...

A ver, está claro, que por cada consulta que hagas a la base de datos tienes que abrir una conexión. Lo que pasa es que luego también tienes que cerrarla, porqué si no dará problemas con tantas conexiones abiertas. Yo lo que hago es lo siguiente. Tengo una rutina general en un modulo, declarada así:

Public Sub Abrir_Conexion_Sql(ByRef Conn as SqlClient.SqlConnection)

conn.connectionstring = <cadena de conexión>
conn.open()

End Sub

Y tengo otra así ...

Public Sub Cerrar_Conexion_Sql(ByRef Conn as SqlClient.SqlConnection)

conn.close
conn=nothing

End Sub

Cada vez que hago una consulta primero llamo a la de arriba, pasando una variable del tipo SqlConnection por referencia, ya que la vamos a modificar, y luego cuando quiero cerrar la conexión, hago lo mismo pero en cerrar conexión, y de esta manera me aseguro, que cierro la conexión con el .close
y que además borro el objeto con = nothing.

A mi nunca me ha dado problemas haciéndolo así. Y en vez de tener conexiones abiertas lo que puedes hacer es leer los datos y meterlos en un dataset y cerrar la conexión a la base de datos. De esta manera tienes los datos pero no tienes la base de datos abierta.

OK?? Bueno ya dirás como te va,