Salut,

Dans ce cas là tu dois créer une classe :
Public Class SQL_Reader
Private oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
Public Sub New()
oConn.Open
End Sub
Public Sub Finalize()
oConn.Close
oConn = Nothing
End Sub
Public Function Read(ByVal Req_SQL As String) As SqlDataReader
Dim oConn As New SqlConnection(ConfigurationSettings.AppSettings("SqlServer"))
oConn.Open()
Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn)
Dim monSQL_Reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Read = monSQL_Reader
End Function
End Class
Et tu l'utilise comme ça :
Dim machin As SQL_Reader 'tu déclenche l'énènement New()
Dim truc As DataReader = machin.Read
' là tu mets tout le traitement qui a besoin que la connexion soit ouverte
machin = Nothing ' tu déclenche l'évènement Finalize() et ça ferme la connexion

Nurgle C'est une grande folie que de vouloir être sage tout seul !