NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

IDataSetCommand.FillDataSet

Changes the data in the DataSet to match the data in the data source.

[Visual Basic]
Function FillDataSet( _
   ByVal dataSet As DataSet _
) As Integer
[C#]
int FillDataSet(
   DataSet dataSet
);
[C++]
int FillDataSet(
   DataSet* dataSet
) = 0;
[JScript]
function FillDataSet(
   dataSet : DataSet
) : int;

Parameters

dataSet
A DataSet to fill with records and schema.

Exceptions

Exception Type Condition
FillDataSetRequiresSourceTable(System.String) The source table was invalid.

Remarks

Fills the DataSet with both data and the schema.

TableMappings is required to be mapped for this method to operate. The default source table is named "Table".

Example [C#]

The following example uses the ADODataSetCommand class, which implements the IDataSetCommand class, to FillDataSet with records from an Access data source. The DataSet is then used to Update a SQL Server data source.

[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);
   }
   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[0].SourceColumn = "CategoryName";
      mySQLDataSetCmd.InsertCommand.Parameters[1].SourceColumn = "Description";
      mySQLDataSetCmd.InsertCommand.Parameters[2].SourceColumn = "Picture";
      mySQLDataSetCmd.Update(myDataSet);
   }
   finally {
      mySQLConn.Close();
   }
}

See Also

IDataSetCommand Interface | IDataSetCommand Members | System.Data Namespace