System.Data [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.3300.0 1.0.5000.0 2.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.ComponentModel.MarshalByValueComponent System.ComponentModel.IListSource System.ComponentModel.ISupportInitializeNotification System.Runtime.Serialization.ISerializable System.Xml.Serialization.IXmlSerializable System.Xml.Serialization.XmlSchemaProvider("GetDataTableSchema") System.ComponentModel.Editor("Microsoft.VSDesigner.Data.Design.DataTableEditor, Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") System.ComponentModel.DesignTimeVisible(false) System.ComponentModel.DefaultProperty("TableName") System.ComponentModel.DefaultEvent("RowChanging") System.ComponentModel.ToolboxItem(false)

The is a central object in the ADO.NET library. Other objects that use the include the and the .

When accessing objects, note that they are conditionally case sensitive. For example, if one is named "mydatatable" and another is named "Mydatatable", a string used to search for one of the tables is regarded as case sensitive. However, if "mydatatable" exists and "Mydatatable" does not, the search string is regarded as case insensitive. A can contain two objects that have the same property value but different property values. For more information about working with objects, see Creating a DataTable.

If you are creating a programmatically, you must first define its schema by adding objects to the (accessed through the property). For more information about adding objects, see Adding Columns to a Table.

To add rows to a , you must first use the method to return a new object. The method returns a row with the schema of the , as it is defined by the table's . The maximum number of rows that a can store is 16,777,216. For more information, see Adding Data to a Table.

The also contains a collection of objects that can be used to ensure the integrity of the data. For more information, see Adding Constraints to a Table.

There are many events that can be used to determine when changes are made to a table. These include , , , and . For more information about the events that can be used with a , see Working with DataTable Events.

When an instance of is created, some of the read/write properties are set to initial values. For a list of these values, see the constructor topic.

The and objects inherit from , and support the interface for .NET Framework remoting. These are the only ADO.NET objects that you can use for .NET Framework remoting.

Represents one table of in-memory data.

- Constructor

  The constructor sets initial values for all properties of the object. The following table shows the properties and their default values. When an instance of is created, the following read/write properties are set to initial values.

  Property

  Default value

  CaseSensitive

  Same as the parent , if it belongs to one. Otherwise, false.

  DisplayExpression

  Empty string ("")

  Locale

  Same as the parent object's (returned by the property); if no parent exists, the default is the current system .

  MinimumCapacity

  50 rows.

  You can change the value for any of these properties through a separate call to the property.

  Initializes a new instance of the class with no arguments.

  1.0.5000.0
  2.0.0.0
- Constructor
  To be added

  Initializes a new instance of the class with the specified table name.

  The name to give the table. If is null or an empty string, a default name is given when added to the .
  1.0.5000.0
  2.0.0.0
- Constructor

  This implementation of the constructor is required for .

  Initializes a new instance of the class with the and the .

  The data needed to serialize or deserialize an object.
  The source and destination of a given serialized stream.
  1.0.5000.0
  2.0.0.0
- Constructor
  2.0.0.0
  To be added.
  To be added.

  Initializes a new instance of the class using the specified table name and namespace.

  The name to give the table. If is null or an empty string, a default name is given when added to the .
- Method
  System.Void

  When is called, any object still in edit mode successfully ends its edits. The also changes: all Added and Modified rows become Unchanged, and Deleted rows are removed.

  The method is generally called on a after you attempt to update the using the method.

  Commits all the changes made to this table since the last time was called.

  1.0.5000.0
  2.0.0.0
- Method
  System.Void

  The Visual Studio .NET design environment uses this method to start the initialization of a component that is used on a form or used by another component. The method ends the initialization. Using the and methods prevents the control from being used before it is fully initialized.

  Begins the initialization of a that is used on a form or used by another component. The initialization occurs at run time.

  1.0.5000.0
  2.0.0.0
- Method
  System.Void

  Use in conjunction with and .

  Turns off notifications, index maintenance, and constraints while loading data.

  1.0.5000.0
  2.0.0.0
- Property
  System.Boolean To be added: an object of type 'bool'

  The property affects string comparisons in sorting, searching, and filtering.

  Indicates whether string comparisons within the table are case-sensitive.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.DataRelationCollection To be added: an object of type 'DataRelationCollection'

  A defines the relationship between two tables. Typically, two tables are linked through a single field that contains the same data. For example, a table which contains address data may have a single field containing codes that represent countries/regions. A second table that contains country/region data will have a single field that contains the code that identifies the country/region, and it is this code which is inserted into the corresponding field in the first table. A , then, contains at least four pieces of information: (1) the name of the first table, (2) the column name in the first table, (3) the name of the second table, and (4) the column name in the second table.

  Gets the collection of child relations for this .

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)
  System.ComponentModel.Browsable(false)
- Method
  System.Void

  All rows in all tables are removed. An exception is generated if the table has any enforced child relations that would cause child rows to be orphaned.

  If the is bound to an , calling or raises the . To avoid this situation, traverse each table, removing each row one at a time. When you use to create new rows, the rows must be processed before you call .

  Clears the of all data.

  1.0.5000.0
  2.0.0.0
- Method
  System.Data.DataTable

  If these classes have been derived, the clone will also be of the same derived classes.

  Clone creates a new with the same structure as the original , but does not copy any data (the new will not contain any DataRows). To copy both the structure and data into a new , use .

  Clones the structure of the , including all schemas and constraints.

  A new with the same schema as the current .

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataColumnChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs after a value has been changed for the specified in a .

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataColumnChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs when a value is being changed for the specified in a .

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.DataColumnCollection To be added: an object of type 'DataColumnCollection'

  The determines the schema of a table by defining the data type of each column.

  Gets the collection of columns that belong to this table.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)
- Method
  System.Object `` ``

  The parameter requires an aggregate function. For example, the following is a legal expression:

  Count(Quantity)

  But this expression is not:

  Sum (Quantity * UnitPrice)

  If you must perform an operation on two or more columns, you should create a , set its property to an appropriate expression, and use an aggregate expression on the resulting column. In that case, given a with the name "total", and the property set to this:

  "Quantity * UnitPrice"

  The expression argument for the method would then be this:

  Sum(total)

  The second parameter, , determines which rows are used in the expression. For example, if the table contains a date column named "colDate", you could limit the rows with the following expression:

  colDate > 1/1/99 AND colDate < 17/1/99

  For rules on creating expressions for both parameters, see the property.

  Computes the given expression on the current rows that pass the filter criteria.

  An , set to the result of the computation. If the expression evaluates to null, the return value will be .

  The expression to compute. The filter to limit the rows that evaluate in the expression. 1.0.5000.0 2.0.0.0
- Property
  System.Data.ConstraintCollection To be added: an object of type 'ConstraintCollection'

  A restricts the action performed when a value in a column (or columns) is either deleted or updated. Such a constraint is intended to be used with primary key columns. In a parent/child relationship between two tables, deleting a value from the parent table can affect the child rows in one of the following ways.

  The child rows can also be deleted (a cascading action).

  The values in the child column (or columns) can be set to null values.

  The values in the child column (or columns) can be set to default values.

  An exception can be generated.

  A becomes active when attempting to set a value in a primary key to a non-unique value.

  Gets the collection of constraints maintained by this table.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)
- Method
  System.Data.DataTable To be added

  Copies both the structure and data for this .

  A new with the same structure (table schemas and constraints) and data as this .

  If these classes have been derived, the copy will also be of the same derived classes.

  creates a new with the same structure and data as the original . To copy the structure to a new , but not the data, use .

  1.0.5000.0
  2.0.0.0
- Method
  2.0.0.0
  System.Data.DataTableReader To be added.

  Returns a corresponding to the data within this .

  A containing one result set, corresponding to the source instance.

- Method
  System.Data.DataTable To be added

  Creates a new instance of .

  The new expression.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.DataSet To be added: an object of type 'DataSet'

  If a control is data bound to a , and the table belongs to a , you can get to the through this property.

  Gets the to which this table belongs.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)
  System.ComponentModel.Browsable(false)
- Property
  System.Data.DataView To be added: an object of type 'DataView'

  The property returns a you can use to sort, filter, and search a .

  Gets a customized view of the table that may include a filtered view, or a cursor position.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.Browsable(false)
- Property
  System.String To be added: an object of type 'string' To be added

  Gets or sets the expression that returns a value used to represent this table in the user interface. The DisplayExpression property lets you display the name of this table in a user interface.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DefaultValue("")
- Method
  System.Void

  The Visual Studio .NET design environment uses this method to end the initialization of a component that is used on a form or used by another component. The method starts the initialization. Using the and methods prevents the control from being used before it is fully initialized.

  Ends the initialization of a that is used on a form or used by another component. The initialization occurs at run time.

  1.0.5000.0
  2.0.0.0
- Method
  System.Void

  Use in conjunction with and .

  Turns on notifications, index maintenance, and constraints after loading data.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.PropertyCollection To be added: an object of type 'PropertyCollection'

  Use the to add custom information to a . Add information with the Add method. Retrieve information with the Item method.

  Extended properties must be of type . Properties that are not of type String are not persisted when the is written as XML.

  Gets the collection of customized user information.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.Browsable(false)
- Field
  1.0.5000.0
  2.0.0.0
  System.Boolean To be added.

  Checks whether initialization is in progress. The initialization occurs at run time.

- Method
  System.Data.DataTable

  Creates a new containing a copy of all rows in the original that have pending changes. Relationship constraints can cause additional unchanged rows to be added to the new if the unchanged rows contain primary keys corresponding to foreign keys in the changed rows. The method returns null (Nothing in Visual Basic) if there are no rows in the original with pending changes.

  Gets a copy of the that contains all changes made to it since it was loaded or was last called.

  A copy of the changes from this , or null if no changes are found.

  1.0.5000.0
  2.0.0.0
- Method
  System.Data.DataTable ``

  The method is used to produce a second object that contains only the changes introduced into the original. Use the argument to specify the type of changes the new object should include.

  Relationship constraints may cause unchanged parent rows to be included.

  Gets a copy of the containing all changes made to it since it was last loaded, or since was called, filtered by .

  A filtered copy of the that can have actions performed on it, and later be merged back in the using . If no rows of the desired are found, the method returns null.

  One of the values. 1.0.5000.0 2.0.0.0
- Method
  2.0.0.0
  System.Xml.Schema.XmlSchemaComplexType `` To be added.

  This method returns an instance containing the Web Services Description Language (WSDL) that describes the for Web Services.

  The instance.

  An instance.
- Method
  System.Data.DataRow[]

  Returns the list of objects that have set. For example, errors can occur when calling with set to true. Do not invoke on the until you resolve all errors and resubmit the for updating.

  Gets an array of objects that contain errors.

  An array of objects that have errors.

  1.0.5000.0
  2.0.0.0
- Method
  2.0.0.0
  System.Void `` `` To be added.

  Populates a serialization information object with the data needed to serialize the .

  A object that holds the serialized data associated with the . A object that contains the source and destination of the serialized stream associated with the .
- Method
  System.Type To be added

  Gets the row type.

  Returns the type of the .

  1.0.5000.0
  2.0.0.0
- Method
  2.0.0.0
  System.Xml.Schema.XmlSchema To be added.

  For a description of this member, see .

  An that describes the XML representation of the object that is produced by the method and consumed by the method.

- Property
  System.Boolean To be added: an object of type 'bool'

  As users work on a set of data contained in a , you can mark each change with an error if the change causes some validation failure. You can mark an entire with an error message using the property. You can also set errors on each column of the row with the method.

  Before updating a data source with a , it's recommended that you first invoke the method on the target . The method results in a that contains only the changes made to the original. Before sending the to the data source for updating, check the property of each table to see if any errors have been attached to the rows or columns in the rows.

  After reconciling each error, clear the errors with the method of the DataRow.

  Gets a value indicating whether there are errors in any of the rows in any of the tables of the to which the table belongs.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.Browsable(false)
- Method
  System.Void ``

  Calling adds a row to the table using the existing table schema, but with default values for the row, and sets the to Detached. Calling preserves the existing along with other values in the row. If the DataRow that is passed as a parameter is in a detached state, it is ignored, and no exception is thrown.

  The new row will be added to the end of the data table.

  If the new row violates a Constraint it won’t be added to the data table.

  You can get the index of the new row with as DataTable.Rows.Find and DataTable.Rows.IndexOf. See and for more information.

  Copies a into a , preserving any property settings, as well as original and current values.

  The to be imported. 1.0.5000.0 2.0.0.0
- Event
  2.0.0.0
  System.EventHandler

  For more information, see .

  Occurs after the is initialized.

- Property
  2.0.0.0
  System.ComponentModel.Browsable(false)
  System.Boolean To be added.

  Returns the status of the while it’s being constructed, for instance by Visual Studio. The method sets it to false and method sets it to true.

  Gets a value that indicates whether the is initialized.

- Method
  2.0.0.0
  System.Void ``

  The method consumes the first result set from the loaded , and after successful completion, sets the reader's position to the next result set, if any. When converting data, the Load method uses the same conversion rules as the method.

  The method must take into account three specific issues when loading the data from an instance: schema, data, and event operations. When working with the schema, the method may encounter conditions as described in the following table. The schema operations take place for all imported result sets, even those containing no data.

  Condition

  Behavior

  The has no schema.

  The method infers the schema based on the result set from the imported .

  The has a schema, but it is incompatible with the loaded schema.

  The method throws an exception corresponding to the particular error that occurs when attempting to load data into the incompatible schema.

  The schemas are compatible, but the loaded result set schema contains columns that do not exist in the .

  The method adds the extra columns to DataTable's schema. The method throws an exception if corresponding columns in the and the loaded result set are not value compatible. The method also retrieves constraint information from the result set for all added columns. Except for the case of Primary Key constraint, this constraint information is used only if the current does not contain any columns at the start of the load operation.

  The schemas are compatible, but the loaded result set schema contains fewer columns than does the DataTable.

  If a missing column has a default value defined or the column's data type is nullable, the method allows the rows to be added, substituting the default or null value for the missing column. If no default value or null can be used, then the Load method throws an exception. If no specific default value has been supplied, the Load method uses the null value as the implied default value.

  Before considering the behavior of the Load method in terms of data operations, consider that each row within a maintains both the current value and the original value for each column. These values may be equivalent, or may be different if the data in the row has been changed since filling the DataTable. For more information, see Row States and Row Versions.

  This version of the Load method attempts to preserve the current values in each row, leaving the original value intact. (If you want finer control over the behavior of incoming data, see .) If the existing row and the incoming row contain corresponding primary key values, the row is processed using its current row state value, otherwise it's treated as a new row.

  In terms of event operations, the event occurs before each row is changed, and the event occurs after each row has been changed. In each case, the property of the instance passed to the event handler contains information about the particular action associated with the event. This action value depends on the state of the row before the load operation. In each case, both events occur, and the action is the same for each. The action may be applied to either the current or original version of each row, or both, depending on the current row state.

  The following table displays behavior for the Load method. The final row (labeled "(Not present)") describes the behavior for incoming rows that don't match any existing row. Each cell in this table describes the current and original value for a field within a row, along with the for the value after the Load method has completed. In this case, the method doesn't allow you to indicate the load option, and uses the default, PreserveChanges.

  Existing DataRowState

  Values after Load method, and event action

  Added

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction = ChangeOriginal

  Modified

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction = ChangeOriginal

  Deleted

  Current = <Not available>

  Original = <Incoming>

  State = <Deleted>

  RowAction = ChangeOriginal

  Unchanged

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  (Not present)

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Values in a can be constrained through use of properties such as and . The Load method handles such columns in a manner that is consistent with the behavior defined by the column's properties. The read only constraint on a is applicable only for changes that occur in memory. The Load method's overwrites the read-only column values, if needed.

  To determine which version of the primary key field to use for comparing the current row with an incoming row, the Load method uses the original version of the primary key value within a row, if it exists. Otherwise, the Load method uses the current version of the primary key field.

  Fills a with values from a data source using the supplied . If the already contains rows, the incoming data from the data source is merged with the existing rows.

  An that provides a result set.
- Method
  2.0.0.0
  System.Void `` ``

  The Load method consumes the first result set from the loaded , and after successful completion, sets the reader's position to the next result set, if any. When converting data, the Load method uses the same conversion rules as the method.

  The Load method must take into account three specific issues when loading the data from an instance: schema, data, and event operations. When working with the schema, the Load method may encounter conditions as described in the following table. The schema operations take place for all imported result sets, even those containing no data.

  Condition

  Behavior

  The has no schema.

  The Load method infers the schema based on the result set from the imported .

  The has a schema, but it is incompatible with the loaded schema.

  The Load method throws an exception corresponding to the particular error that occurs when attempting to load data into the incompatible schema.

  The schemas are compatible, but the loaded result set schema contains columns that don't exist in the DataTable.

  The Load method adds the extra columns to DataTable’s schema. The method throws an exception if corresponding columns in the and the loaded result set are not value compatible. The method also retrieves constraint information from the result set for all added columns. Except for the case of Primary Key constraint, this constraint information is used only if the current does not contain any columns at the start of the load operation.

  The schemas are compatible, but the loaded result set schema contains fewer columns than does the DataTable.

  If a missing column has a default value defined or the column's data type is nullable, the Load method allows the rows to be added, substituting the default or null value for the missing column. If no default value or null can be used, then the Load method throws an exception. If no specific default value has been supplied, the Load method uses the null value as the implied default value.

  Before considering the behavior of the Load method in terms of data operations, consider that each row within a maintains both the current value and the original value for each column. These values may be equivalent, or may be different if the data in the row has been changed since filling the DataTable. See Row States and Row Versions for more information.

  In this method call, the specified parameter influences the processing of the incoming data. How should the Load method handle loading rows that have the same primary key as existing rows? Should it modify current values, original values, or both? These issues, and more, are controlled by the parameter.

  If the existing row and the incoming row contain corresponding primary key values, the row is processed using its current row state value, otherwise it's treated as a new row.

  In terms of event operations, the event occurs before each row is changed, and the event occurs after each row has been changed. In each case, the property of the instance passed to the event handler contains information about the particular action associated with the event. This action value varies, depending on the state of the row before the load operation. In each case, both events occur, and the action is the same for each. The action may be applied to either the current or original version of each row, or both, depending on the current row state.

  The following table displays behavior for the Load method when called with each of the LoadOption values, and also shows how the values interact with the row state for the row being loaded. The final row (labeled "(Not present)") describes the behavior for incoming rows that don't match any existing row. Each cell in this table describes the current and original value for a field within a row, along with the for the value after the Load method has completed.

  Existing DataRowState

  Upsert

  OverwriteChanges

  PreserveChanges (Default behavior)

  Added

  Current = <Incoming>

  Original = -<Not available>

  State = <Added>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction = ChangeOriginal

  Modified

  Current = <Incoming>

  Original = <Existing>

  State = <Modified>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction =ChangeOriginal

  Deleted

  (Load does not affect deleted rows)

  Current = ---

  Original = <Existing>

  State = <Deleted>

  (New row is added with the following characteristics)

  Current = <Incoming>

  Original = <Not available>

  State = <Added>

  RowAction = Add

  Undo delete and

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Not available>

  Original = <Incoming>

  State = <Deleted>

  RowAction = ChangeOriginal

  Unchanged

  Current = <Incoming>

  Original = <Existing>

  If new value is the same as the existing value then

  State = <Unchanged>

  RowAction = Nothing

  Else

  State = <Modified>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  (Not present)

  Current = <Incoming>

  Original = <Not available>

  State = <Added>

  RowAction = Add

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Values in a can be constrained through use of properties such as and . The Load method handles such columns in a manner that is consistent with the behavior defined by the column's properties. The read only constraint on a is applicable only for changes that occur in memory. The Load method's overwrites the read-only column values, if needed.

  If you specify the OverwriteChanges or PreserveChanges options when calling the Load method, then the assumption is made that the incoming data is coming from the DataTable's primary data source, and the DataTable tracks changes and can propagate the changes back to the data source. If you select the Upsert option, it is assumed that the data is coming from one of a secondary data source, such as data provided by a middle-tier component, perhaps altered by a user. In this case, the assumption is that the intent is to aggregate data from one or more data sources in the DataTable, and then perhaps propagate the data back to the primary data source. The parameter is used for determining the specific version of the row that is to be used for primary key comparison. The table below provides the details.

  Load option

  DataRow version used for primary key comparison

  OverwriteChanges

  Original version, if it exists, otherwise Current version

  PreserveChanges

  Original version, if it exists, otherwise Current version

  Upsert

  Current version, if it exists, otherwise Original version

  Fills a with values from a data source using the supplied . If the DataTable already contains rows, the incoming data from the data source is merged with the existing rows according to the value of the parameter.

  An that provides one or more result sets. A value from the enumeration that indicates how rows already in the are combined with incoming rows that share the same primary key.
- Method
  2.0.0.0
  System.Void `` `` ``

  The Load method consumes the first result set from the loaded , and after successful completion, sets the reader's position to the next result set, if any. When converting data, the Load method uses the same conversion rules as the method.

  The Load method must take into account three specific issues when loading the data from an instance: schema, data, and event operations. When working with the schema, the Load method may encounter conditions as described in the following table. The schema operations take place for all imported result sets, even those containing no data.

  Condition

  Behavior

  The has no schema.

  The Load method infers the schema based on the result set from the imported .

  The has a schema, but it is incompatible with the loaded schema.

  The Load method throws an exception corresponding to the particular error that occurs when attempting to load data into the incompatible schema.

  The schemas are compatible, but the loaded result set schema contains columns that don't exist in the DataTable.

  The Load method adds the extra column(s) to DataTable’s schema. The method throws an exception if corresponding columns in the and the loaded result set are not value compatible. The method also retrieves constraint information from the result set for all added columns. Except for the case of Primary Key constraint, this constraint information is used only if the current does not contain any columns at the start of the load operation.

  The schemas are compatible, but the loaded result set schema contains fewer columns than does the DataTable.

  If a missing column has a default value defined or the column's data type is nullable, the Load method allows the rows to be added, substituting the default or null value for the missing column. If no default value or null can be used, then the Load method throws an exception. If no specific default value has been supplied, the Load method uses the null value as the implied default value.

  Before considering the behavior of the Load method in terms of data operations, consider that each row within a maintains both the current value and the original value for each column. These values may be equivalent, or may be different if the data in the row has been changed since filling the DataTable. See Row States and Row Versions for more information.

  In this method call, the specified parameter influences the processing of the incoming data. How should the Load method handle loading rows that have the same primary key as existing rows? Should it modify current values, original values, or both? These issues, and more, are controlled by the parameter.

  If the existing row and the incoming row contain corresponding primary key values, the row is processed using its current row state value, otherwise it's treated as a new row.

  In terms of event operations, the event occurs before each row is changed, and the event occurs after each row has been changed. In each case, the property of the instance passed to the event handler contains information about the particular action associated with the event. This action value varies, depending on the state of the row before the load operation. In each case, both events occur, and the action is the same for each. The action may be applied to either the current or original version of each row, or both, depending on the current row state.

  The following table displays behavior for the Load method when called with each of the LoadOption values, and also shows how the values interact with the row state for the row being loaded. The final row (labeled "(Not present)") describes the behavior for incoming rows that don't match any existing row. Each cell in this table describes the current and original value for a field within a row, along with the for the value after the Load method has completed.

  Existing DataRowState

  Upsert

  OverwriteChanges

  PreserveChanges (Default behavior)

  Added

  Current = <Incoming>

  Original = -<Not available>

  State = <Added>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction = ChangeOriginal

  Modified

  Current = <Incoming>

  Original = <Existing>

  State = <Modified>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Existing>

  Original = <Incoming>

  State = <Modified>

  RowAction =ChangeOriginal

  Deleted

  (Load does not affect deleted rows)

  Current = ---

  Original = <Existing>

  State = <Deleted>

  (New row is added with the following characteristics)

  Current = <Incoming>

  Original = <Not available>

  State = <Added>

  RowAction = Add

  Undo delete and

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Not available>

  Original = <Incoming>

  State = <Deleted>

  RowAction = ChangeOriginal

  Unchanged

  Current = <Incoming>

  Original = <Existing>

  If new value is the same as the existing value then

  State = <Unchanged>

  RowAction = Nothing

  Else

  State = <Modified>

  RowAction = Change

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  (Not present)

  Current = <Incoming>

  Original = <Not available>

  State = <Added>

  RowAction = Add

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Current = <Incoming>

  Original = <Incoming>

  State = <Unchanged>

  RowAction = ChangeCurrentAndOriginal

  Values in a can be constrained through use of properties such as and . The Load method handles such columns in a manner that is consistent with the behavior defined by the column's properties. The read only constraint on a is applicable only for changes that occur in memory. The Load method's overwrites the read-only column values, if needed.

  If you specify the OverwriteChanges or PreserveChanges options when calling the Load method, then the assumption is made that the incoming data is coming from the DataTable's primary data source, and the DataTable tracks changes and can propagate the changes back to the data source. If you select the Upsert option, it is assumed that the data is coming from one of a secondary data source, such as data provided by a middle-tier component, perhaps altered by a user. In this case, the assumption is that the intent is to aggregate data from one or more data sources in the DataTable, and then perhaps propagate the data back to the primary data source. The parameter is used for determining the specific version of the row that is to be used for primary key comparison. The table below provides the details.

  Load option

  DataRow version used for primary key comparison

  OverwriteChanges

  Original version, if it exists, otherwise Current version

  PreserveChanges

  Original version, if it exists, otherwise Current version

  Upsert

  Current version, if it exists, otherwise Original version

  The parameter is a delegate that refers to a procedure that is called when an error occurs while loading data. The parameter passed to the procedure provides properties that allow you to retrieve information about the error that occurred, the current row of data, and the being filled. Using this delegate mechanism, rather than a simpler try/catch block, allows you to determine the error, handle the situation, and continue processing if you like. The parameter supplies a property: set this property to true to indicate that you have handled the error and wish to continue processing. Set the property to false to indicate that you wish to halt processing. Be aware that setting the property to false causes the code that triggered the problem to throw an exception.

  Fills a with values from a data source using the supplied using an error-handling delegate.

  A that provides a result set. A value from the enumeration that indicates how rows already in the are combined with incoming rows that share the same primary key. A delegate to call when an error occurs while loading data.
- Method
  System.Data.DataRow `` ``

  The method takes an array of values and finds the matching value(s) in the primary key column(s).

  If a column has a default value, pass a null value in the array to set the default value for that column. Similarly, if a column has its property set to true, pass a null value in the array to set the automatically generated value for the row.

  If the parameter is true or not specified, the new data is added and then is called to accept all changes in the ; if the argument is false, newly added rows are marked as insertions, and changes to existing rows are marked as modifications.

  Exceptions can also occur during either a or event. If an exception occurs, the row is not added to the table.

  Use in conjunction with and .

  Finds and updates a specific row. If no matching row is found, a new row is created using the given values.

  The new .

  An array of values used to create the new row. true to accept changes; otherwise false. 1.0.5000.0 2.0.0.0
- Method
  2.0.0.0
  System.Data.DataRow `` ``

  The method takes an array of values and finds the matching value(s) in the primary key column(s).

  If a column has a default value, pass a null value in the array to set the default value for that column. Similarly, if a column has its property set to true, pass a null value in the array to set the automatically generated value for the row.

  The value of the parameter is used to determine how the values in the array are applied to an existing row. For example, if is set to OverwriteChanges, the Original and Current values of each column are replaced with the values in the incoming row and the RowState property is set to Unchanged.

  Exceptions can also occur during either a or event. If an exception occurs, the row is not added to the table.

  Use in conjunction with and .

  Finds and updates a specific row. If no matching row is found, a new row is created using the given values.

  The new .

  An array of values used to create the new row. Used to determine how the array values are applied to the corresponding values in an existing row.
- Property
  System.Globalization.CultureInfo To be added: an object of type 'Globalization.CultureInfo'

  A represents the software preferences of a particular culture or community.

  When used for string comparisons, the affects sorting, comparisons, and filtering.

  In columns that contain expressions, the is used. The is ignored.

  Gets or sets the locale information used to compare strings within the table.

  1.0.5000.0
  2.0.0.0
- Method
  2.0.0.0
  System.Void ``

  The Merge method is used to merge two objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing . This allows the client application to have a refreshed with the latest data from the data source.

  The merge operation takes into account only the original table, and the table to be merged. Child tables are not affected or included. If a table has one or more child tables, defined as part of a relationship, each child table must be merged individually.

  The Merge method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing .

  When performing a merge, changes made to the existing data before the merge are preserved by default during the merge operation. Developers can modify this behavior by calling one of the other two overloads for this method, and specifying a false value for the parameter.

  In a client application, it is usual to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle tier component. In this scenario, the method is first invoked. That method returns a second optimized for validating and merging. This second object contains only the objects that were changed, resulting in a subset of the original . This subset is generally smaller and thus more efficiently passed back to a middle tier component. The middle tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned can be merged back into the client application's original with the method.

  When merging a new source into the target, any source rows with a value of Unchanged, Modified, or Deleted, is matched to target rows with the same primary key values. Source rows with a value of Added are matched to new target rows with the same primary key values as the new source rows.

  Merge the specified with the current .

  The to be merged with the current .
- Method
  2.0.0.0
  System.Void `` ``

  The Merge method is used to merge two objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing . This allows the client application to have a refreshed with the latest data from the data source.

  The merge operation takes into account only the original table, and the table to be merged. Child tables are not affected or included. If a table has one or more child tables, defined as part of a relationship, each child table must be merged individually.

  The Merge method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing .

  When performing a merge, changes made to the existing data before the merge are preserved during the merge operation unless the developer specifies false for the parameter. If the parameter is set to true, incoming values do not overwrite existing values in the Current row version of the existing row. If the parameter is set to false, incoming values do overwrite the existing values in the Current row version of the existing row. For more information about row versions, see Row States and Row Versions.

  In a client application, it is usual to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle tier component. In this scenario, the method is first invoked. That method returns a second optimized for validating and merging. This second object contains only the and objects that were changed, resulting in a subset of the original . This subset is generally smaller, and thus this subset is more efficiently passed back to a middle tier component. The middle tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned can be merged back into the client application's original with the method.

  When merging a new source into the target, any source rows with a value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a value of Added are matched to new target rows with the same primary key values as the new source rows.

  Merge the specified with the current DataTable, indicating whether to preserve changes in the current DataTable.

  The DataTable to be merged with the current DataTable. true, to preserve changes in the current DataTable; otherwise false.
- Method
  2.0.0.0
  System.Void `` `` ``

  The Merge method is used to merge two objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing . This allows the client application to have a refreshed with the latest data from the data source.

  The merge operation takes into account only the original table, and the table to be merged. Child tables are not affected or included. If a table has one or more child tables, defined as part of a relationship, each child table must be merged individually.

  The Merge method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing .

  When performing a merge, changes made to the existing data before the merge are preserved during the merge operation unless the developer specifies false for the parameter. If the parameter is set to true, incoming values do not overwrite existing values in the Current row version of the existing row. If the parameter is set to false, incoming values do overwrite the existing values in the Current row version of the existing row. For more information about row versions, see Row States and Row Versions.

  In a client application, it is usual to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle tier component. In this scenario, the method is first invoked. That method returns a second optimized for validating and merging. This second object contains only the and objects that were changed, resulting in a subset of the original . This subset is generally smaller, and thus this subset is more efficiently passed back to a middle tier component. The middle tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned can be merged back into the client application's original with the method.

  When the method is called, the schemas of the two objects are compared, because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source contains schema elements (added objects) that are missing in the target, the schema elements can be added to the target by setting the argument to MissingSchemaAction.Add. In that case, the merged contains the added schema and data.

  After merging schemas, the data is merged.

  When merging a new source into the target, any source rows with a value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a value of Added are matched to new target rows with the same primary key values as the new source rows.

  Merge the specified with the current DataTable, indicating whether to preserve changes and how to handle missing schema in the current DataTable.

  The to be merged with the current . true, to preserve changes in the current ; otherwise false. One of the values.
- Property
  System.Int32 To be added: an object of type 'int'

  The allows the system to create an appropriate set of resources before fetching data. In a situation when performance is critical, setting this property can optimize performance.

  Gets or sets the initial starting size for this table.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DefaultValue(50)
- Property
  System.String To be added: an object of type 'string' To be added

  Gets or sets the namespace for the XML representation of the data stored in the .

  1.0.5000.0
  2.0.0.0
- Method
  System.Data.DataRow

  You must use the method to create new objects with the same schema as the . After creating a , you can add it to the , through the object's property. When you use to create new rows, the rows must be added to or deleted from the data table before you call .

  Creates a new with the same schema as the table.

  A with the same schema as the .

  1.0.5000.0
  2.0.0.0
- Method
  1.0.5000.0
  2.0.0.0
  System.Data.DataRow[] `` To be added.

  Returns an array of .

  The new array.

  A value that describes the size of the array.
- Method
  System.Data.DataRow `` To be added

  Creates a new row from an existing row.

  A derived class.

  A object. 1.0.5000.0 2.0.0.0
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  1.0.5000.0
  2.0.0.0
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data.
- Method
  1.0.5000.0
  2.0.0.0
  System.Void ``

  Raising an event invokes the event handler through a delegate. For more information, see Raising an Event.

  Notifies the that a is being removed.

  The being removed.
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  System.Void ``

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data. 1.0.5000.0 2.0.0.0
- Method
  2.0.0.0
  System.Void ``

  Raises the event, which is fired immediately after all rows have been successfully cleared but before the method returns control back to the caller.

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data.
- Method
  2.0.0.0
  System.Void ``

  Raises the event, which is fired before processing of the operation begins.

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data.
- Method
  2.0.0.0
  System.Void ``

  Raises the event, which fires after a new has been created using .

  Raising an event invokes the event handler through a delegate. For an overview, see Raising an Event.

  Raises the event.

  A that contains the event data.
- Property
  System.Data.DataRelationCollection To be added: an object of type 'DataRelationCollection' To be added

  Gets the collection of parent relations for this .

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)
  System.ComponentModel.Browsable(false)
- Property
  System.String To be added: an object of type 'string' To be added

  Gets or sets the namespace for the XML representation of the data stored in the .

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DefaultValue("")
- Property
  System.Data.DataColumn[] To be added: an object of type 'DataColumn []'

  The primary key of a table must be unique to identify the record in the table. It's also possible to have a table with a primary key made up of two or more columns. This occurs when a single column can't contain enough unique values. For example, a two column primary key might consist of a "FirstName" and "LastName" column. Because primary keys can be made up of more than one column, the property consists of an array of objects.

  Gets or sets an array of columns that function as primary keys for the data table.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.TypeConverter("System.Data.PrimaryKeyTypeConverter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
  System.ComponentModel.Editor("Microsoft.VSDesigner.Data.Design.PrimaryKeyEditor, Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
- Method
  2.0.0.0
  System.Data.XmlReadMode ``

  The current and its descendents are loaded with the data from the supplied . The behavior of this method is identical to that of the method, except that in this case, data is loaded only for the current table and its descendants.

  The method provides a way to read either data only, or both data and schema into a from an XML document, whereas the method reads only the schema.

  Note that the same is true for the and methods, respectively. To write XML data, or both schema and data from the DataTable, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.

  If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.

  The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.

  Reads XML schema and data into the using the specified .

  The used to read the data.

  An object that derives from
- Method
  2.0.0.0
  System.Data.XmlReadMode ``

  The current and its descendents are loaded with the data from the supplied . The behavior of this method is identical to that of the method, except that in this case, data is loaded only for the current table and its descendants.

  The method provides a way to read either data only, or both data and schema into a from an XML document, whereas the method reads only the schema.

  Note that the same is true for the and methods, respectively. To write XML data, or both schema and data from the DataTable, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.

  If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.

  The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.

  Reads XML schema and data into the using the specified .

  The used to read the data.

  The that will be used to read the data.
- Method
  2.0.0.0
  System.Data.XmlReadMode ``

  The current and its descendents are loaded with the data from the file named in the supplied . The behavior of this method is identical to that of the method, except that in this case, data is loaded only for the current table and its descendants.

  The method provides a way to read either data only, or both data and schema into a from an XML document, whereas the method reads only the schema.

  Note that the same is true for the and methods, respectively. To write XML data, or both schema and data from the DataTable, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.

  If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.

  The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.

  `using System.Data; public class A { static void Main(string[] args) { DataTable tabl = new DataTable("mytable"); tabl.Columns.Add(new DataColumn("id", typeof(int))); for (int i = 0; i < 10; i++) { DataRow row = tabl.NewRow(); row["id"] = i; tabl.Rows.Add(row); } tabl.WriteXml("f.xml", XmlWriteMode.WriteSchema); DataTable newt = new DataTable(); newt.ReadXml("f.xml"); } }`

  Reads XML schema and data into the from the specified file.

  The used to read the data.

  The name of the file from which to read the data.
- Method
  2.0.0.0
  System.Data.XmlReadMode ``

  The current and its descendents are loaded with the data from the file named in the supplied . The behavior of this method is identical to that of the method, except that in this case, data is loaded only for the current table and its descendants.

  The method provides a way to read either data only, or both data and schema into a from an XML document, whereas the method reads only the schema.

  Note that the same is true for the and methods, respectively. To write XML data, or both schema and data from the DataTable, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.

  If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.

  The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.

  Reads XML Schema and Data into the using the specified .

  The used to read the data.

  The that will be used to read the data.
- Method
  2.0.0.0
  System.Data.XmlReadMode `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  2.0.0.0
  System.Void ``

  Use the method to create the schema for a . The schema includes table, relation, and constraint definitions.

  To write a schema to an XML document, use the method.

  The XML schema is interpreted according to the XSD standard.

  Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.

  The ReadXmlSchema method is generally invoked before invoking the method which is used to fill the .

  To create a nested relation using XML schema, use implicit nested elements. You can also configure the nested relation to use explicit column names. Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

  Reads an XML schema into the using the specified stream.

  The stream used to read the schema.
- Method
  2.0.0.0
  System.Void ``

  Use the method to create the schema for a . The schema includes table, relation, and constraint definitions.

  To write a schema to an XML document, use the method.

  The XML schema is interpreted according to the XSD standard.

  Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.

  The ReadXmlSchema method is generally invoked before invoking the method which is used to fill the .

  To create a nested relation using XML schema, use implicit nested elements. You can also reconfigure the nested relation to use explicit column names. Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

  Reads an XML schema into the using the specified .

  The used to read the schema information.
- Method
  2.0.0.0
  System.Void ``

  Use the method to create the schema for a . The schema includes table, relation, and constraint definitions.

  To write a schema to an XML document, use the method.

  The XML schema is interpreted according to the XSD standard.

  Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.

  The ReadXmlSchema method is generally invoked before invoking the method which is used to fill the DataTable.

  To create a nested relation using XML schema, use implicit nested elements. You can also reconfigure the nested relation to use explicit column names. Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

  Reads an XML schema into the from the specified file.

  The name of the file from which to read the schema information.
- Method
  2.0.0.0
  System.Void ``

  Use the method to create the schema for a . The schema includes table, relation, and constraint definitions.

  To write a schema to an XML document, use the method.

  The XML schema is interpreted according to the XSD standard.

  Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.

  The ReadXmlSchema method is generally invoked before invoking the method which is used to fill the .

  The way to create a nested relation using XML schema is to have implicit nested elements. Additionally, the nested relation could be re-wired, to use explicit column names. It is mandatory for elements to be implicitly nested for the corresponding DataTables to participate in a nested relation.

  Reads an XML schema into the using the specified .

  The used to read the schema information.
- Method
  2.0.0.0
  System.Void `` To be added.

  Reads from an XML stream.

  A object.
- Method
  System.Void

  When is called, any objects that are still in edit-mode cancel their edits. New rows are removed. Rows with the set to Modified or Deleted return back to their original state.

  Rolls back all changes that have been made to the table since it was loaded, or the last time was called.

  1.0.5000.0
  2.0.0.0
- Property
  2.0.0.0
  System.ComponentModel.DefaultValue(System.Data.SerializationFormat.Xml)
  System.Data.SerializationFormat To be added. To be added.

  Gets or sets the serialization format.

- Method
  System.Void To be added

  Resets the to its original state. Reset removes all data, indexes, relations, and columns of the table. If a DataSet includes a DataTable, the table will still be part of the DataSet after the table is reset.

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataRowChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs after a has been changed successfully.

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataRowChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs when a is changing.

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataRowChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs after a row in the table has been deleted.

  1.0.5000.0
  2.0.0.0
- Event
  System.Data.DataRowChangeEventHandler

  For more information, see Working with DataTable Events.

  Occurs before a row in the table is about to be deleted.

  1.0.5000.0
  2.0.0.0
- Property
  System.Data.DataRowCollection To be added: an object of type 'DataRowCollection'

  To create a new , you must use the method to return a new object. Such an object is automatically configured according to the schema defined for the through its collection of objects. After creating a new row and setting the values for each column in the row, add the row to the using the Add method.

  Each in the collection represents a row of data in the table. To commit a change to the value of a column in the row, you must invoke the method.

  Gets the collection of rows that belong to this table.

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.Browsable(false)
- Method
  System.Data.DataRow[]

  To ensure the proper sort order, specify sort criteria with or .

  Gets an array of all objects.

  An array of objects.

  1.0.5000.0
  2.0.0.0
- Method
  System.Data.DataRow[] ``

  To create the argument, use the same rules that apply to the class's property value for creating filters.

  To ensure the proper sort order, specify sort criteria with or .

  If the column on the filter contains a null value, it will not be part of the result.

  Gets an array of all objects that match the filter criteria.

  An array of objects.

  The criteria to use to filter the rows. For examples on how to filter rows, see DataView RowFilter Syntax [C#]. 1.0.5000.0 2.0.0.0
- Method
  System.Data.DataRow[] `` ``

  To form the argument, use the same rules for creating the class's property value. The argument also uses the same rules for creating class's strings.

  If the column on the filter contains a null value, it will not be part of the result.

  Gets an array of all objects that match the filter criteria, in the specified sort order.

  An array of objects matching the filter expression.

  The criteria to use to filter the rows. For examples on how to filter rows, see DataView RowFilter Syntax [C#]. A string specifying the column and sort direction. 1.0.5000.0 2.0.0.0
- Method
  System.Data.DataRow[] `` `` ``

  To form the argument, use the same rules for creating the class's property value. The argument also uses the same rules for creating class's strings.

  If the column on the filter contains a null value, it will not be part of the result.

  Gets an array of all objects that match the filter in the order of the sort that match the specified state.

  An array of objects.

  The criteria to use to filter the rows. For examples on how to filter rows, see DataView RowFilter Syntax [C#]. A string specifying the column and sort direction. One of the values. 1.0.5000.0 2.0.0.0
- Property
  System.ComponentModel.ISite To be added: an object of type 'ComponentModel.ISite'

  Sites bind a to a and enable communication between them, as well as provide a way for the container to manage its components.

  Gets or sets an for the .

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)
  System.ComponentModel.Browsable(false)
- Property
  1.0.5000.0
  2.0.0.0
  System.Boolean To be added.

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

- Method
  1.0.5000.0
  2.0.0.0
  System.Collections.IList

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

  An that can be bound to a data source from the object.

- Method
  1.0.5000.0
  System.Void `` `` To be added.

  Populates a serialization information object with the data needed to serialize the .

  A object. A object.
- Method
  2.0.0.0
  System.Xml.Schema.XmlSchema

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

  An that describes the XML representation of the object that is produced by the method and consumed by the method.

- Method
  2.0.0.0
  System.Void ``

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

  An XmlReader.
- Method
  2.0.0.0
  System.Void ``

  This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.

  For a description of this member, see .

  An XmlWriter.
- Event
  2.0.0.0
  System.Data.DataTableClearEventHandler

  The event is fired immediately after all rows have been successfully cleared but before the method returns control back to the caller. The event is not fired if there are any exceptions during the clear operation.

  Occurs after a is cleared.

- Event
  2.0.0.0
  System.Data.DataTableClearEventHandler

  The event is fired before processing of the operation begins. This event is always fired when the method is invoked, even if the table contains zero rows.

  Occurs when a is cleared.

- Property
  System.String To be added: an object of type 'string'

  The is used to return this table from the parent object's (returned by the property).

  Gets or sets the name of the .

  1.0.5000.0
  2.0.0.0
  System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.All)
  System.ComponentModel.DefaultValue("")
- Event
  2.0.0.0
  System.Data.DataTableNewRowEventHandler

  Fires after a new has been created using . This event is fired before the invoked NewRow method returns. The new instance is detached; it has not been added to the collection.

  Occurs when a new is inserted.

- Method
  System.String

  Gets the and for the .

  Gets the and , if there is one as a concatenated string.

  A string consisting of the and the values.

  1.0.5000.0
  2.0.0.0
- Method
  2.0.0.0
  System.Void ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified .

  The stream to which the data will be written.
- Method
  2.0.0.0
  System.Void ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified .

  The with which to write the content.
- Method
  2.0.0.0
  System.Void ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified file.

  The file to which to write the XML data.
- Method
  2.0.0.0
  System.Void ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified .

  The with which to write the contents.
- Method
  2.0.0.0
  System.Void `` ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all of its descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified . To save the data for the table and all its descendants, set the parameter to true.

  The stream to which the data will be written. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the to the specified file using the specified . To write the schema, set the value for the parameter to WriteSchema.

  The stream to which the data will be written. One of the values.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all its descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified . To save the data for the table and all its descendants, set the parameter to true.

  The with which to write the content. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified and . To write the schema, set the value for the parameter to WriteSchema.

  The used to write the document. One of the values.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all of its descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified file. To save the data for the table and all its descendants, set the parameter to true.

  The file to which to write the XML data. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified file and . To write the schema, set the value for the parameter to WriteSchema.

  The name of the file to which the data will be written. One of the values.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current contents of the as XML using the specified .

  The with which to write the contents. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified and . To write the schema, set the value for the parameter to WriteSchema.

  The used to write the document. One of the values.
- Method
  2.0.0.0
  System.Void `` `` ``

  The method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally, the WriteXml method saves data only for the current table. The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all of its descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the to the specified file using the specified . To write the schema, set the value for the parameter to WriteSchema. To save the data for the table and all its descendants, set the parameter to true.

  The stream to which the data will be written. One of the values. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally, the WriteXml method saves data only for the current table. The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that includes the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all of its descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified and . To write the schema, set the value for the parameter to WriteSchema. To save the data for the table and all its descendants, set the parameter to true.

  The used to write the document. One of the values. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally, the WriteXml method saves data only for the current table. If you want to save the data for the current table and all of schema, the method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and all descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified file and . To write the schema, set the value for the parameter to WriteSchema. To save the data for the table and all its descendants, set the parameter to true.

  The name of the file to which the data will be written. One of the values. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void `` `` ``

  The method provides a way to write either data only, or both data and schema from a into an XML document, whereas the method writes only the schema. To write both data and schema, use one of the overloads that include the parameter, and set its value to WriteSchema.

  Note that the same is true for the and methods, respectively. To read XML data, or both schema and data into the DataTable, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.

  Normally the WriteXml method writes the data only for the current table. To write the data for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  An will be thrown if a column type in the DataRow being read from or written to implements and does not implement .

  Writes the current data, and optionally the schema, for the using the specified and . To write the schema, set the value for the parameter to WriteSchema. To save the data for the table and all its descendants, set the parameter to true.

  The used to write the document. One of the values. If true, write the contents of the current table and all its descendants. If false (the default value), write the data for the current table only.
- Method
  2.0.0.0
  System.Void ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Writes the current data structure of the as an XML schema to the specified stream.

  The stream to which the XML schema will be written.
- Method
  2.0.0.0
  System.Void ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Writes the current data structure of the as an XML schema using the specified .

  The with which to write.
- Method
  2.0.0.0
  System.Void ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Writes the current data structure of the as an XML schema to the specified file.

  The name of the file to use.
- Method
  2.0.0.0
  System.Void ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Writes the current data structure of the as an XML schema using the specified .

  The to use.
- Method
  2.0.0.0
  System.Void `` ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Normally the WriteXmlSchema method writes the schema only for the current table. To write the schema for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  Writes the current data structure of the as an XML schema to the specified stream. To save the schema for the table and all its descendants, set the parameter to true.

  The stream to which the XML schema will be written. If true, write the schema of the current table and all its descendants. If false (the default value), write the schema for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Normally the WriteXmlSchema method writes the schema only for the current table. To write the schema for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  Writes the current data structure of the as an XML schema using the specified . To save the schema for the table and all its descendants, set the parameter to true.

  The with which to write. If true, write the schema of the current table and all its descendants. If false (the default value), write the schema for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Normally the WriteXmlSchema method writes the schema only for the current table. To write the schema for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  Writes the current data structure of the as an XML schema to the specified file. To save the schema for the table and all its descendants, set the parameter to true.

  The name of the file to use. If true, write the schema of the current table and all its descendants. If false (the default value), write the schema for the current table only.
- Method
  2.0.0.0
  System.Void `` ``

  Use the method to write the schema for a to an XML document. The schema includes table, relation, and constraint definitions.

  The XML schema is written using the XSD standard.

  To write the data to an XML document, use the method.

  Normally the WriteXmlSchema method writes the schema only for the current table. To write the schema for the current table and its entire descendant, related tables, call the method with the parameter set to true.

  Writes the current data structure of the as an XML schema using the specified . To save the schema for the table and all its descendants, set the parameter to true.

  The used to write the document. If true, write the schema of the current table and all its descendants. If false (the default value), write the schema for the current table only.