vb.net 把datatable的值添加到另一个datatable

vb.net 把datatable的值添加到另一个datatable,第1张

首先按照你的例子定义2个DataTable:

dim csDataTable1 as new DataTable

csDataTable1.columns.add("id")

csDataTable1.columns.add("name")

dim csDataRow1 as DataRow = csDataTable1.NewRow()

csDataRow1.item("id") = 1

csDataRow1.item("name") = "aa"

dim csDataTable2 as DataTable = csDataTable1.clone

dim csDataRow2 as DataRow = csDataTable1.NewRow()

csDataRow2.item("id") = 2

csDataRow2.item("name") = "bb"

接下来把Table2里的数据加到Table1里去:

For each csDr as DataRow in csDataTable2.rows

csDataTable1.import(csDr )

next

如果2个表种可能有主键一样的数据,那么还需要在循环中判断一下,相同主键存在的数据不添加

声明

Public Class DataRow

用法

Dim instance As DataRow

示例通过调用 DataTable 对象的 NewRow 方法创建新的 DataRow。

Private Sub CreateNewDataRow()

    ' Use the MakeTable function below to create a new table.

    Dim table As DataTable

    table = MakeNamesTable()

    ' Once a table has been created, use the 

    ' NewRow to create a DataRow.

    Dim row As DataRow 

    row = table.NewRow()

    ' Then add the new row to the collection.

    row("fName") = "John"

    row("lName") = "Smith"

    table.Rows.Add(row)

    

    Dim column As DataColumn

    For Each column in table.Columns

       Console.WriteLine(column.ColumnName)

    Next

    DataGrid1.DataSource=table

 End Sub

 

 Private Function MakeNamesTable() As DataTable

    ' Create a new DataTable titled 'Names.'

    Dim namesTable As DataTable = new DataTable("Names") 

    ' Add three column objects to the table.

    Dim idColumn As DataColumn = new  DataColumn()

    idColumn.DataType = System.Type.GetType("System.Int32")

    idColumn.ColumnName = "id"

    idColumn.AutoIncrement = True

    namesTable.Columns.Add(idColumn)

    Dim fNameColumn As DataColumn = New DataColumn()

    fNameColumn.DataType = System.Type.GetType("System.String")

    fNameColumn.ColumnName = "Fname"

    fNameColumn.DefaultValue = "Fname"

    namesTable.Columns.Add(fNameColumn)

    Dim lNameColumn As DataColumn = new DataColumn()

    lNameColumn.DataType = System.Type.GetType("System.String")

    lNameColumn.ColumnName = "LName"

    namesTable.Columns.Add(lNameColumn)

    ' Create an array for DataColumn objects.

    Dim keys(0) As DataColumn 

    keys(0) = idColumn

    namesTable.PrimaryKey = keys

    ' Return the new DataTable.

    MakeNamesTable = namesTable

 End Function

dataTable本身就是一张表,你说的添加表的意思应该是创建dataTable对象

然后增加列:

DataTable dt=new DataTable() //创建对象

dt.Columns.Add("列1")  //创建一列名为“列1”


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11907330.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存