Posto giusto per istruzione Return in funzione che restituisce oggetto

di il
0 risposte

Posto giusto per istruzione Return in funzione che restituisce oggetto

Buondi

Ho questa funzione in una classe che serve a restituirmi un DataReader per poi estrarre uno o piu record dal suo contenuto. 

Ma il mio dubbio è che inserendo l'istruzione Return, che come è noto esce dalla routine, non vengano poi annientati gli oggetti connection e command in quanto non verranno mai eseguite le istruzioni end using. 

Nè posso mettere il return alla fine perchè dopo gli End Using,  il DataReader non esisterebbe piu e la funzione non restituirebbe nulla. 

Come posso fare (o meglio come si fa in genere?) 

Ecco la routine:

nella classe: clsClasseDB
Function PrendeDataReader(Qry As String) As OdbcDataReader 
	Using oConnection As New OdbcConnection(m_strConnessione) 
		oConnection.Open() 
		Using oCommand As New OdbcCommand(Qry, oConnection) 
			Using oDataReader As OdbcDataReader = oCommand.ExecuteReader 
				Return oDataReader '
			End Using ' odatareader 
		End Using 'command 
	End Using ' oConnection 
End Function

'Per usarla, da qualchew parte nel codice
dim oClasseDB as New clsClasseDB
Using MyDr As OdbcDataReader = oClasseDB.PrendeDataReader(Qry)
    If MyDr.HasRows Then
        'MioCampo = MyDR("MioCampo")
        '...
    End If
End Using
Devi accedere o registrarti per scrivere nel forum
0 risposte