将列从一个数据表复制到另一个数据表
本文关键字:数据表 一个 复制 另一个 | 更新日期: 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()