6.2. Copying Tables from One DataSet to Another

Problem

You need to copy an existing schema and data from one DataSet to another.

Solution

Use one of the following techniques:

  • Use the Copy( ) method of the DataTable when all of the data for a table needs to be copied.

  • Use the Clone( ) method of the DataTable to create the schema for each table in the destination DataSet when only a subset of the data needs to be copied. You can then use the ImportRows() method of the DataTable to copy the subset of rows from the source to the destination table as demonstrated in Recipe 6.1.

Once the destination tables are created and the data is copied into them, the example shows how to create the source DataRelation objects in the destination DataSet.

The solution creates a DataSet containing the Sales.SalesOrderHeader and Sales. SalesOrderDetail tables from AdventureWorks, and a relation between the two tables. The schema, both complete and subset data, and relationships are copied from the source DataSet into the destination DataSet. Results are output to the console.

The C# code in Program.cs in Project CopyTablesFromOneDataSetToAnother is shown in Example 6-2.

Example 6-2. File: Program.cs for CopyTablesFromOneDataSetToAnother solution

using System;
using System.Data;
using System.Data.SqlClient;

namespace CopyTablesFromOneDataSetToAnother
{ class Program { static void Main(string[] args) { string sqlConnectString = "Data Source=(local);" + "Integrated security=SSPI;Initial Catalog=AdventureWorks;"; ...

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.