Foro de elhacker.net

Programación => .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
  1.    Function EjecutarQueryResultados(ByVal sSQL As String) As SqlDataReader
  2.  
  3.        Connect()
  4.  
  5.        Dim objSqlDataReader As SqlDataReader
  6.        objSqlCommand = New SqlCommand(sSQL, objConnection)
  7.        Try
  8.            objSqlDataReader = objSqlCommand.ExecuteReader()
  9.            Disconnect()
  10.        Catch ex As Exception
  11.            msgError(ex.Message)
  12.            Disconnect()
  13.        End Try
  14.  
  15.        Return objSqlDataReader
  16.    End Function

Ahora cuando quiero ejecutar una query y recorrer el SqlDataReader, me dice que esta cerrado.
Código
  1.        objSqlDataReader = EjecutarQueryResultados("SELECT * FROM dbo.tblTipoUsuario;")
  2.        While objSqlDataReader.Read()
  3.            Dim i As Integer = 0
  4.            For i = 0 To objSqlDataReader.FieldCount - 1
  5.                TextBox1.Text &= objSqlDataReader(i) & "-"
  6.            Next
  7.        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