ciao a tutti, avrei un problema con un datareader; la mia funzione, che ora vi mostrerò è contenuta all'interno di una classe, quando esco da questa, precisamente nel main del mio programma mi ritorna un datareader chiuso.. e quindi non riesco ad accedere agli elementi:

codice:
Public Function crea_dreader(ByVal sql As String)
        'Creazione datareader, viene passata la stringa sql da eseguire
        Dim objCommand As SqlClient.SqlCommand
        Dim objReader As SqlClient.SqlDataReader
        Dim cnPath As String

        cnPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\cn.txt"
        Dim objConnection As New SqlClient.SqlConnection
        objConnection.ConnectionString = verNameFile(cnPath)
        objConnection.Open()

        If (objConnection.State = ConnectionState.Open) Then
            objCommand = New SqlClient.SqlCommand(sql, objConnection)
            objReader = objCommand.ExecuteReader()
            crea_dreader = objReader

            'objReader = Nothing
            objConnection.Close()
        End If
    End Function
nel main:

codice:
'Definisco un mio datareader esterno alla classe
'Lo riempio con dataread passato dalla classe
'Leggo il contenuto
Dim objReader As SqlClient.SqlDataReader
objReader = trvDtset.crea_dreader(sql)
While objReader.Read()
      MsgBox(objReader.Item(0))
End While