将列从一个数据表复制到另一个数据表

本文关键字:数据表 一个 复制 另一个 | 更新日期: 2023-09-27 17:50:54

我遵循了要求。我有两个数据表,结构如下:

dt₁:
列:PrimaryKey, Style, Color, OTS0, OTS1
数据:,,,,,,,1,,,,,,,,,,,,,,,,,,S1 ,,,, C1 ,,,,, 5,,,,,,,,,, 6
,,,,,,,,,,,,,,, 2,,,,,,,,,,,,,,,,,, S1  &,,,, C2 ,,,,, 1,,,,,,,,,, 2

dt2:
列:PrimaryKey, Style, Color, OTS2, OTS3
数据:,,,,,,,1,,,,,,,,,,,,,,,,,,S1 ,,,, C1 ,,,,, 1,,,,,,,,,, 2
,,,,,,,,,,,,,,, 2,,,,,,,,,,,,,,,,,, S1  &,,,, C2 ,,,,, 3,,,,,,,,,, 4

我需要合并以上两个数据表,最终的结果数据表应该结构如下:dtResult:
列:PrimaryKey, Style, Color, OTS0, OTS1, OTS2, OTS3
数据:,,,,,,,1,,,,,,,,,,,,,,,,,,S1 ,,,, C1 ,,,,, 5,,,,,,,,,, 6,,,,,,,,, 1,,,,,,,,,, 2
,,,,,,,,,,,,,,, 2 &,,,,,,,,,,,,,,,,,, S1 ,,,, C2 ,,,,, 1,,,,,,,,,, 2,,,,,,,,, 3,,,,,,,,,, 4

我们如何做到这一点?(有什么直接的方法不用Linq吗?)请帮助! !

将列从一个数据表复制到另一个数据表

假设数据表具有相同的行数,则可以这样做:

VB。净:

Dim i As Integer = 0
Dim i2 As Integer
Dim Colinx As Integer
Do Until i = dt1.Columns.Count
If dt1.Columns(i).ColumnName.Contains("OTS") Then
Colinx = dt2.Columns.Count
dt2.Columns.Add(dt1.Columns(i).ColumnName, GetType(Integer))
i2 = 0
Do Until i2 = dt2.Rows.Count
dt2.Rows(i2)(Colinx) = dt1.Rows(i2)(i)
i2 = i2 + 1
Loop
End If
i = i + 1
Loop

SQL database datatable: Use select into statement....

.net数据表对象:(我假设你有所有的关键从dt1在dt2)

    dtresult = dt1.Copy
    Dim ds As New DataSet
    ds.Tables.Add(dtresult )
    ds.Tables.Add(dt2)
    ds.Relations.Add("KeyRelation", dt2.Columns("Key"), dtresult .Columns("Key"))
    dtresult .Columns.Add("OTS2", System.Type.GetType("System.Int32"), "Parent.OTS2")
    dtresult .Columns.Add("OTS3", System.Type.GetType("System.Int32"), "Parent.OTS3")

    dtresult.AcceptChanges()