¿Rellenar datagrid con datatable/datareader?

Iniciado por |Miguel|, 24 Abril 2012, 13:48 PM

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

|Miguel|

Hola, buenas.

Tengo dos dudas: la primera es si es mejor usar un datatable o un datareader para rellenar un datagrid...

Y la segunda es cómo se hace.
Este es mi formulario. pero no encuentro la forma de meter en mi datagrid los datos que he recuperado de la consulta...

Código (vbnet) [Seleccionar]
Public Class frmAutores
    Sub New()
        InitializeComponent()
        Dim conexion As String = "server=server; user id=user; Password=pass; Initial Catalog=library;"
        Dim cnn As New Data.SqlClient.SqlConnection(conexion)
        Dim cmd As New Data.SqlClient.SqlCommand("select au_id, au_fname, au_lname, city from authors", cnn)
        'Dim dt As New Data.DataTable
        Dim dRead As Data.SqlClient.SqlDataReader = Nothing
        Try
            cnn.Open()
            dRead = cmd.ExecuteReader
            While dRead.Read

            End While
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            If Not dRead Is Nothing Then
                dRead.Close()
            End If
            cnn.Close()
            cnn.Dispose()
            cmd.Dispose()
        End Try
    End Sub
End Class


Gracias, saludos

|Miguel|

me respondo. he hecho esto, pero no sé si es muy correcto:
While dRead.Read
                i += 1
                grdAutores.Rows.Add()
                grdAutores.Item("au_id", i).Value = dRead.Item("au_id").ToString()
                grdAutores.Item("au_fname", i).Value = dRead.Item("au_fname").ToString()
                grdAutores.Item("au_lname", i).Value = dRead.Item("au_lname").ToString()
                grdAutores.Item("city", i).Value = dRead.Item("city").ToString()
            End While