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
Rows
property to access rows in theDataRowCollection
of theDataTable
using the row index.Use the
Select()
method of theDataTable
.Use the
RowFilter
property of aDataView
for 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 ...
Get ADO.NET 3.5 Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.