Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将表从3数据集合并到1_Asp.net_Dataset_Asp.net 4.0 - Fatal编程技术网

Asp.net 将表从3数据集合并到1

Asp.net 将表从3数据集合并到1,asp.net,dataset,asp.net-4.0,Asp.net,Dataset,Asp.net 4.0,我正在从数据库加载三个数据集,其中 Dataset 1 > Table 1 > 10 rows Dataset 2 > Table 1 > 3 rows Dataset 3 > Table 1 > 5 rows (所有数据集具有相同的列名、相同的数据类型)实际上它们包含基于不同选择条件的数据) 现在我想把这三个数据集合并成这样一个数据集 数据集4>表1>18行 请帮助我如何做试试这个方法。类似于此(未经测试): C#: VB.NET: dataset1.Me

我正在从数据库加载三个数据集,其中

Dataset 1 > Table 1 > 10 rows
Dataset 2 > Table 1 > 3 rows
Dataset 3 > Table 1 > 5 rows
(所有数据集具有相同的列名、相同的数据类型)实际上它们包含基于不同选择条件的数据) 现在我想把这三个数据集合并成这样一个数据集

数据集4>表1>18行

请帮助我如何做

试试这个方法。类似于此(未经测试):

C#:

VB.NET:

dataset1.Merge(dataset2)

Dim dataset4 As New DataSet = dataset1.Merge(dataset3)    
试试这个方法。类似于此(未经测试):

C#:

VB.NET:

dataset1.Merge(dataset2)

Dim dataset4 As New DataSet = dataset1.Merge(dataset3)    
一种(灵活的)方法是使用

在VB.NET中:

Dim tblMerged = tbl1.AsEnumerable _
                    .Union(tbl2.AsEnumerable) _
                    .Union(tbl3.AsEnumerable) _
                    .CopyToDataTable()
通过以下方式进行测试:

Dim tbl1 As New DataTable
Dim tbl2 As New DataTable
Dim tbl3 As New DataTable
Dim col1_1 As New DataColumn("Col1", GetType(String))
Dim col2_1 As New DataColumn("Col1", GetType(String))
Dim col3_1 As New DataColumn("Col1", GetType(String))

tbl1.Columns.Add(col1_1)
tbl2.Columns.Add(col2_1)
tbl3.Columns.Add(col3_1)
For i As Int32 = 1 To 10
    Dim row = tbl1.NewRow
    row(0) = "Tbl1_Value" & i
    tbl1.Rows.Add(row)
Next
For i As Int32 = 1 To 20
    Dim row = tbl2.NewRow
    row(0) = "Tbl2_Value" & i
    tbl2.Rows.Add(row)
Next
For i As Int32 = 1 To 50
    Dim row = tbl3.NewRow
    row(0) = "Tbl3_Value" & i
    tbl3.Rows.Add(row)
Next

Dim tblMerged = tbl1.AsEnumerable.Union(tbl2.AsEnumerable).Union(tbl3.AsEnumerable).CopyToDataTable
一种(灵活的)方法是使用

在VB.NET中:

Dim tblMerged = tbl1.AsEnumerable _
                    .Union(tbl2.AsEnumerable) _
                    .Union(tbl3.AsEnumerable) _
                    .CopyToDataTable()
通过以下方式进行测试:

Dim tbl1 As New DataTable
Dim tbl2 As New DataTable
Dim tbl3 As New DataTable
Dim col1_1 As New DataColumn("Col1", GetType(String))
Dim col2_1 As New DataColumn("Col1", GetType(String))
Dim col3_1 As New DataColumn("Col1", GetType(String))

tbl1.Columns.Add(col1_1)
tbl2.Columns.Add(col2_1)
tbl3.Columns.Add(col3_1)
For i As Int32 = 1 To 10
    Dim row = tbl1.NewRow
    row(0) = "Tbl1_Value" & i
    tbl1.Rows.Add(row)
Next
For i As Int32 = 1 To 20
    Dim row = tbl2.NewRow
    row(0) = "Tbl2_Value" & i
    tbl2.Rows.Add(row)
Next
For i As Int32 = 1 To 50
    Dim row = tbl3.NewRow
    row(0) = "Tbl3_Value" & i
    tbl3.Rows.Add(row)
Next

Dim tblMerged = tbl1.AsEnumerable.Union(tbl2.AsEnumerable).Union(tbl3.AsEnumerable).CopyToDataTable

如果希望合并两个数据集和所有包含的表,可以使用Tim的建议,或者可以对特定的表执行类似的操作

DataTable table1 = new DataTable();
DataTable table2 = new DataTable();
DataTable table3 = new DataTable();

table1.Merge(table2);
table1.Merge(table3);

如果希望合并两个数据集和所有包含的表,可以使用Tim的建议,或者可以对特定的表执行类似的操作

DataTable table1 = new DataTable();
DataTable table2 = new DataTable();
DataTable table3 = new DataTable();

table1.Merge(table2);
table1.Merge(table3);

为什么要用它来代替
DataTable.Merge
?我认为LINQ更灵活,所以如果需要添加其他条件,那么
Merge
可能不再是一个选项,您必须放弃这种方法。对于OP的要求,这两种方法都是可行的。很抱歉。我错过了底线中的工会。这是一个很好的方法。为什么要使用此方法而不是
DataTable.Merge
?我认为LINQ更灵活,因此如果需要添加其他条件,则
Merge
可能不再是一个选项,您必须放弃此方法。对于OP的要求,这两种方法都是可行的。很抱歉。我错过了底线中的工会。这是一个好办法。