Recuperar datos de un SqlDataReader

Iniciado por Shell Root, 11 Diciembre 2010, 20:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

Hace mucho ratón que no toco lo que es la suite de Visual Studio .NET, y quería hacer algo como lo siguiente, pero no me funciona...

Tengo esta función que ejecuta la query y devuelve un objeto SqlDataReader
Código (vbnet) [Seleccionar]
   Function EjecutarQueryResultados(ByVal sSQL As String) As SqlDataReader

       Connect()

       Dim objSqlDataReader As SqlDataReader
       objSqlCommand = New SqlCommand(sSQL, objConnection)
       Try
           objSqlDataReader = objSqlCommand.ExecuteReader()
           Disconnect()
       Catch ex As Exception
           msgError(ex.Message)
           Disconnect()
       End Try

       Return objSqlDataReader
   End Function


Ahora cuando quiero ejecutar una query y recorrer el SqlDataReader, me dice que esta cerrado.
Código (vbnet) [Seleccionar]
       objSqlDataReader = EjecutarQueryResultados("SELECT * FROM dbo.tblTipoUsuario;")
       While objSqlDataReader.Read()
           Dim i As Integer = 0
           For i = 0 To objSqlDataReader.FieldCount - 1
               TextBox1.Text &= objSqlDataReader(i) & "-"
           Next
       End While



EDIT: PERDÓN, ERA PORQUE CERRABA LA CONEXIÓN...
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Novlucker

Era lo que iba a decir justamente, el sqldatareader se utiliza para trabajar en ambientes conectados a la bbdd, si quieres estar desconectado puedes hacerlo con un dataadapter

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Novlucker

http://www.elguille.info/NET/ADONET/cadena_de_conexion_para_conectar_a_una_base_de_sql_server.htm
http://www.elguille.info/net/ADONET/transacciones_simples_dataadapter.aspx

Es muy simple, basta tirar la consulta con SqlDataAdapter, y luego los datos en un DataTable, el mismo objeto SqlDataAdapter te provee de métodos para eliminar, modificar, insertar valores en base a esos que tienes en memoria :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein