结合2数据表

时间:2016-09-13 13:46:12

标签: vb.net datatable

我有2个数据表

第一个数据表只有列名

Ex:A B

第二个数据表具有值为

的列名
 A  B  C  D                                                                         
 1  2  3  4                                                                           
 2  3  4  5

现在我如何从第二个数据表到第一个数据表的值得到匹配

的列

First Datatable的最终结果应该是

A  B                                                                               
1  2

我尝试合并但发生数据类型不匹配

1 个答案:

答案 0 :(得分:1)

您可以使用DefaultView.ToTable方法,该方法允许您在新表中指定所需的列

在此示例中,我使用变量 tableWithData 来表示具有要提取的值的数据表,并使用变量 tableWithoutData 来表示仅包含列名的表。变量 newTable 是另一个接收ToTable方法结果的数据表,但您也可以使用 tableWithoutData 作为调用的目标。

Dim newTable = tableWithData.DefaultView.ToTable(False, tableWithoutData.Columns _
      .Cast(Of DataColumn)() _
      .Select(Function(x) x.ColumnName) _
      .ToArray())

ToTable方法的第二个参数是ParamArray,其中包含要从源表中获取的列的名称。要获得此值,我们可以在目标表上使用一点Linq来提取列名