When you update a record in a dataset, there is the possibility of an error.For example, you might inadvertently write data of the wrong type to a column, or data that's too long, or data that has some other integrity problem.
If you do send the changes back to the database, then a second step is required.The Row State property of a Data Row object is a value that provides information about the status of a particular row of data.The following table details the possible values of the Data Row State enumeration: The row has been created but is not part of any Data Row Collection.Those methods perform the change tracking that's needed for updating the data source.If you call the Remove At collection on the Rows property, the deletion won't be communicated back to the database. When you merge datasets, new records in the source dataset are added to the target dataset.(A concurrency violation occurs when another user modifies a record in the data source after the dataset has been filled.)To make changes to an existing data row, add or update data in the individual columns.If the dataset contains constraints (such as foreign keys or non-nullable constraints), it's possible that the record can temporarily be in an error state as you update it.After you complete an update, you can re-enable constraint checking, which also re-enables update events and raises them.For more information about suspending events, see Turn off constraints while filling a dataset.Information about the changes in a dataset is maintained in two ways: by flagging rows that indicate that they have changed (Row State), and by keeping multiple copies of a record (Data Row Version).By using this information, processes can determine what has changed in the dataset and can send appropriate updates to the data source.