Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Shell Root en 11 Diciembre 2010, 20:14 PM

Título: Recuperar datos de un SqlDataReader
Publicado por: Shell Root en 11 Diciembre 2010, 20:14 PM
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...
Título: Re: Recuperar datos de un SqlDataReader
Publicado por: Novlucker en 12 Diciembre 2010, 22:46 PM
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
Título: Re: Recuperar datos de un SqlDataReader
Publicado por: Shell Root en 13 Diciembre 2010, 17:06 PM
Algún ejemplillo?
Título: Re: Recuperar datos de un SqlDataReader
Publicado por: Novlucker en 13 Diciembre 2010, 17:40 PM
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