octubre 05, 2006

Cargar DataTable con DataReader NET 2005

Ahora en VB.NET 2005 el objeto DataTable puede cargarse via IDataReader (por ejemplo un SqlDataReader) sin necesidad de un objeto SQLDataAdapter. El DataTable tiene un método Load que acepta como argumento un obj que implemente IDataReader.

El siguiente ejemplo pobla un DataView con un DataTable que a su vez es poblado con un SQLDataReader.


----------------Código Fte----------------------------------------------
Imports System.Data.SqlClient

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.DataGridView1.DataSource = llenaDataTableConRS()

End Sub


'Función que ejecuta el reader y carga los resultados en una DataTable.
Private Function llenaDataTableConRS() As DataTable
Dim con As New SqlConnection(strConn)

Dim datatable1 As New DataTable
Dim dr As SqlDataReader
Try
Dim cmd As New SqlCommand("Select * From Employees", con)
con.Open()
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
'Aqui es donde se carga el Recordset al DataTable.
datatable1.Load(dr)

Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
con.Close()
End Try

Return datatable1
End Function
End Class

No hay comentarios.: