This article code example can be used in .net core with C#.net and VB.NET. Here we will use .net core 10. So, for this article first we will create new .net code 10 console application and add the below code.
C#.Net
using System.Data;
//Create two datatables
DataTable objdatatable1 = new DataTable();
DataTable objdatatable2 = new DataTable();
//Load sample data into datatables
objdatatable1 = LoadDataTable_One();
objdatatable2 = LoadDataTable_Two();
//Merge two datatables
objdatatable1.Merge(objdatatable2);
//Display merged datatable
foreach (DataRow row in objdatatable1.Rows)
{
Console.WriteLine("EmpId: " + row["EmpId"] + ", EmpName: " + row["EmpName"] + ", Project: " + row["Project"]);
}
//Sample datatable loading methods
DataTable LoadDataTable_One()
{
// Create a new DataTable
DataTable dataTable = new DataTable("Table1");
dataTable.Columns.Add(new DataColumn("EmpId", typeof(int)));
dataTable.Columns.Add(new DataColumn("EmpName", typeof(string)));
dataTable.Columns.Add(new DataColumn("Project", typeof(string)));
// Add a new DataRow
DataRow dataRow1 = dataTable.NewRow();
dataRow1["EmpId"] = 101;
dataRow1["EmpName"] = "John";
dataRow1["Project"] = "Project A";
dataTable.Rows.Add(dataRow1);
DataRow dataRow2 = dataTable.NewRow();
dataRow2["EmpId"] = 102;
dataRow2["EmpName"] = "Pranav";
dataRow2["Project"] = "Project B";
dataTable.Rows.Add(dataRow2);
DataRow dataRow3 = dataTable.NewRow();
dataRow3["EmpId"] = 103;
dataRow3["EmpName"] = "Stel";
dataRow3["Project"] = "Project C";
dataTable.Rows.Add(dataRow3);
return dataTable;
}
DataTable LoadDataTable_Two()
{
// Create a new DataTable
DataTable dataTable = new DataTable("Table2");
dataTable.Columns.Add(new DataColumn("EmpId", typeof(int)));
dataTable.Columns.Add(new DataColumn("EmpName", typeof(string)));
dataTable.Columns.Add(new DataColumn("Project", typeof(string)));
// Add a new DataRow
DataRow dataRow1 = dataTable.NewRow();
dataRow1["EmpId"] = 104;
dataRow1["EmpName"] = "Ram";
dataRow1["Project"] = "Project D";
dataTable.Rows.Add(dataRow1);
DataRow dataRow2 = dataTable.NewRow();
dataRow2["EmpId"] = 105;
dataRow2["EmpName"] = "Ri";
dataRow2["Project"] = "Project E";
dataTable.Rows.Add(dataRow2);
DataRow dataRow3 = dataTable.NewRow();
dataRow3["EmpId"] = 106;
dataRow3["EmpName"] = "Jay";
dataRow3["Project"] = "Project F";
dataTable.Rows.Add(dataRow3);
return dataTable;
} VB.Net
Imports System
Imports System.Data
Module Program
Sub Main(args As String())
'Create two datatables
Dim objdatatable1 As DataTable = New DataTable()
Dim objdatatable2 As DataTable = New DataTable()
'Load sample data into datatables
objdatatable1 = LoadDataTable_One()
objdatatable2 = LoadDataTable_Two()
'Merge two datatables
objdatatable1.Merge(objdatatable2)
'Display merged datatable
For Each row As DataRow In objdatatable1.Rows
Console.WriteLine("EmpId: " & row("EmpId").ToString().ToString() & ", EmpName: " + row("EmpName").ToString() & ", Project: " + row("Project"))
Next
End Sub
'Sample datatable loading methods
Private Function LoadDataTable_One() As DataTable
' Create a new DataTable
Dim dataTable As DataTable = New DataTable("Table1")
dataTable.Columns.Add(New DataColumn("EmpId", GetType(Integer)))
dataTable.Columns.Add(New DataColumn("EmpName", GetType(String)))
dataTable.Columns.Add(New DataColumn("Project", GetType(String)))
' Add a new DataRow
Dim dataRow1 As DataRow = dataTable.NewRow()
dataRow1("EmpId") = 101
dataRow1("EmpName") = "John"
dataRow1("Project") = "Project A"
dataTable.Rows.Add(dataRow1)
Dim dataRow2 As DataRow = dataTable.NewRow()
dataRow2("EmpId") = 102
dataRow2("EmpName") = "Pranav"
dataRow2("Project") = "Project B"
dataTable.Rows.Add(dataRow2)
Dim dataRow3 As DataRow = dataTable.NewRow()
dataRow3("EmpId") = 103
dataRow3("EmpName") = "Stel"
dataRow3("Project") = "Project C"
dataTable.Rows.Add(dataRow3)
Return dataTable
End Function
Private Function LoadDataTable_Two() As DataTable
' Create a new DataTable
Dim dataTable As DataTable = New DataTable("Table2")
dataTable.Columns.Add(New DataColumn("EmpId", GetType(Integer)))
dataTable.Columns.Add(New DataColumn("EmpName", GetType(String)))
dataTable.Columns.Add(New DataColumn("Project", GetType(String)))
' Add a new DataRow
Dim dataRow1 As DataRow = dataTable.NewRow()
dataRow1("EmpId") = 104
dataRow1("EmpName") = "Ram"
dataRow1("Project") = "Project D"
dataTable.Rows.Add(dataRow1)
Dim dataRow2 As DataRow = dataTable.NewRow()
dataRow2("EmpId") = 105
dataRow2("EmpName") = "Ri"
dataRow2("Project") = "Project E"
dataTable.Rows.Add(dataRow2)
Dim dataRow3 As DataRow = dataTable.NewRow()
dataRow3("EmpId") = 106
dataRow3("EmpName") = "Jay"
dataRow3("Project") = "Project F"
dataTable.Rows.Add(dataRow3)
Return dataTable
End Function
End Module In above code sample I have taken two datatable and added value in it. Afte that i have used Merge() method to merge or combine the two of the datatable and displayed the value of the datatable.
