6.1. Copying Rows from One DataTable to Another
Problem
You have records in a DataTable that you need to copy to another DataTable.
Solution
Use the ImportRow() method of the DataTable to copy DataRow objects from one DataTable to another. Three techniques for selecting the records to copy are demonstrated in the following example:
Use the
Rowsproperty to access rows in theDataRowCollectionof theDataTableusing the row index.Use the
Select()method of theDataTable.Use the
RowFilterproperty of aDataViewfor theDataTable.
The solution creates a source DataTable containing the Person.Contact table from AdventureWorks. The Clone() method is used to create a second empty destination DataTable with the same schema as the source. Each of the three selection techniques is used together with ImportRows() to copy records from the source table to the destination.
The C# code in Program.cs in the project CopyRowsFromOneDataTableToAnother is shown in Example 6-1.
Example 6-1. File: Program.cs for CopyRowsFromOneDataTableToAnother solution
using System; using System.Data; using System.Data.SqlClient; namespace CopyRowsFromOneDataTableToAnother { class Program { static void Main(string[] args) { string sqlConnectString = "Data Source=(local);" + "Integrated security=SSPI;Initial Catalog=AdventureWorks;"; string sqlSelect = "SELECT ContactID, FirstName, LastName " + "FROM Person.Contact"; // Create a data adapter SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString); // Fill a DataTable ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access