DataSet.GetChanges Method (DataRowState)

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

Namespace:  System.Data
Assembly:  System.Data (in System.Data.dll)

public DataSet GetChanges(
	DataRowState rowStates
)

Parameters

rowStates
Type: System.Data.DataRowState
One of the DataRowState values.

Return Value

Type: System.Data.DataSet
A filtered copy of the DataSet that can have actions performed on it, and subsequently be merged back in using Merge. If no rows of the desired DataRowState are found, the method returns null.

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

This returned copy is designed to be merged back in to this original DataSet. Relationship constraints may cause parent rows marked Unchanged to be included. If no rows of the desired DataRowState are found, the GetChanges method returns null.

The following example uses the GetChanges method to create a second DataSet object, which is then used to update a data source.


private void UpdateDataSet(DataSet dataSet)
{
    // Check for changes with the HasChanges method first.
    if(!dataSet.HasChanges(DataRowState.Modified)) return;

    // Create temporary DataSet variable and
    // GetChanges for modified rows only.
    DataSet tempDataSet = 
        dataSet.GetChanges(DataRowState.Modified);

    // Check the DataSet for errors.
    if(tempDataSet.HasErrors)
    {
        // Insert code to resolve errors.
    }
    // After fixing errors, update the data source with  
    // the DataAdapter used to create the DataSet.
    adapter.Update(tempDataSet);
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2015 Microsoft