>>Hi,
>>
>>When I get a dataset of changes from an existing dataset and then check for Tables property, I get NullReference error.
>>
>>Here is the simplified code:
>>
>>
>>DataSet dsChanged = dsMyDataSet.GetChanges(DataRowState.Modified);
>>foreach (DataTable Table in dsChanged.Tables) // !!!! Error Here!
>>{
>>
>>}
>>
>>
>>So what kind of dataset is the dataset of changes if it does not have tables? That is, how do you scan the values in this dataset?
>
>If no rows are found, it returns a null reference. From the MSDN article on it:
>
>
> // 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.
> }
>
>
>Also, if you try to GetChanges after an AcceptChanges, it will return a null reference. Also, the .Added state takes preference to the .Modified state so keep that in mind too. There is a nice little example here:
>
>
http://blogs.msdn.com/spike/archive/2009/10/20/datatable-getchanges-datarowstate-modified-returns-null.aspx I knew about the check for HasChanges and my test data set does have changes. But it could be something else. I will also read the entry in the blog you references. Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham