Implementation of DataSetCommand designed for relational data sources like databases.
Object
Component
DataSetCommand
DBDataSetCommand
[Visual Basic] MustInherit Public Class DBDataSetCommand Inherits DataSetCommand [C#] public abstract class DBDataSetCommand : DataSetCommand [C++] public __gc __abstract class DBDataSetCommand : public DataSetCommand [JScript] public abstract class DBDataSetCommand extends DataSetCommand
[To be supplied.]
Namespace: System.Data.Internal
Assembly: System.Data.dll
The following example uses the derived classes ADODataSetCommand and SQLDataSetCommand to select records from an Access data source and insert them in a SQL Server data source. This example can be modified to migrate an Access database to a SQL Server database.
[C#]
private DataSet InitializeMyDataSet() { // creates the table and its columns for the DataSet DataSet newData = new DataSet(); DataTable newTable = newData.Tables.Add("Catagories"); // add Columns to table newTable.Columns.Add("CategoryID",typeof(Int32)); newTable.Columns.Add("CategoryName", typeof(String)); newTable.Columns.Add("Description", typeof(String)); newTable.Columns.Add("Picture",typeof(Byte[])); return newData; } public void AccessToSQLServer() { // set Access connection and select strings const string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND_RW.MDB"; const string strAccessSelect = "SELECT * FROM Categories ORDER BY CategoryID"; // set SQL Server connection and insert strings const string strSQLServerConn = "Data Source=VBsql7;Initial Catalog=Northwind;User ID=sa;Password=;"; const string strSQLServerInsert = "INSERT INTO Categories(CategoryName, Description, Picture) Values(@CategoryName,@Description,@Picture)"; // create my DataSet DataSet myDataSet = InitializeMyDataSet(); // create my Access objects ADOConnection myAccessConn = new ADOConnection(strAccessConn); ADODataSetCommand myAccessDataSetCmd = new ADODataSetCommand(); myAccessDataSetCmd.SelectCommand = new ADOCommand(strAccessSelect,myAccessConn); // create my SQL Server objects SQLConnection mySQLConn = new SQLConnection(strSQLServerConn); SQLDataSetCommand mySQLDataSetCmd = new SQLDataSetCommand(); mySQLDataSetCmd.InsertCommand = new SQLCommand(strSQLServerInsert,mySQLConn); // fill myDataSet with data from Access myAccessConn.Open(); try { myAccessDataSetCmd.FillDataSet(myDataSet,"table"); } finally { myAccessConn.Close(); } // do ugly work to turn original rows into new rows // update SQL Server with data from the DataSet mySQLConn.Open(); try { mySQLDataSetCmd.InsertCommand.Parameters.Add("CategoryName", typeof(String)); mySQLDataSetCmd.InsertCommand.Parameters.Add("Description", typeof(String)); mySQLDataSetCmd.InsertCommand.Parameters.Add("Picture", typeof(Byte[])); mySQLDataSetCmd.InsertCommand.Parameters[0].SourceColumn = "CategoryName"; mySQLDataSetCmd.InsertCommand.Parameters[1].SourceColumn = "Description"; mySQLDataSetCmd.InsertCommand.Parameters[2].SourceColumn = "Picture"; mySQLDataSetCmd.Update(myDataSet,"table"); } finally { mySQLConn.Close(); } }
DBDataSetCommand Members | System.Data.Internal Namespace | DataSetCommand | DBCommand | DBConnection