Copiar datos entre datatables VB.NET

En ocasiones se necesita copiar datos entre datatables, aqui pongo una manera facil de poder hacer estas operaciones.

Primero se declaran 2 datatables, el primero obtendra los resultados de un query, y por consecuencia tendra un numero determinado de columnas, se pone un ciclo para copiar el numero de columnas al 2do datatable y posteriormente se hace el copiado de datarows entre ambos

Dim DataTableLeer As New DataTable
Dim DataTableLeer2 As New DataTable
Dim selectcmd As New SqlClient.SqlDataAdapter

Dim conn As New SqlClient.SqlConnection(String.Format(“Data Source='{0}’;Initial Catalog='{1}’;User Id= ‘{2}’;Password ='{3}’;”, server, database, username, password))

conn.Open()
DataTableLeer.Clear()

selectcmd = New SqlClient.SqlDataAdapter(String.Format(“Select * from tabla “), conn)
selectcmd.Fill(DataTableLeer)

For i As Integer = 0 To DataTableLeer.Columns.Count – 1
DataTableLeer2.Columns.Add(DataTableLeer.Columns(i).ColumnName)
Next

DataTableLeer2.Rows.Add(DataTableLeer.Rows(0).ItemArray)

espero sea de utilidad

saludos

Loading Facebook Comments ...

1 comment

  1. Buenas,
    También se podría copiar el formato(por lo consecuente las columnas) sin hacer un recorrido como lo mencionaste:

    For i As Integer = 0 To DataTableLeer.Columns.Count – 1
    DataTableLeer2.Columns.Add(DataTableLeer.Columns(i).ColumnName)
    Next

    Esto se podría sustituir por:

    DataTableLeer2 = DataTableLeer.Clone()

    Saludos 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Para evitar SPAM realiza la siguiente operación: *