While DataSets hold a lot of data, sometimes you want to keep track of information about the DataSet itself. You could store information about the dataset in some variable (e.g. the last time you checked the DataSet for changes) but it makes sense to me to store that information with the Dataset itself through its extended properties.
To add an extended property to a DataSet, you go the DataSet's ExtendedProperties collection and add a name and a value. This example adds a property called LastChecked to the ExtendedProperties collection with the current date and time:
Dim ds As New DataSet
ds.ExtendedProperties.Add("LastChecked", DateTime.Now)
To retrieve your extended property, just pass the name back to the DataSet's Item method. When you retrieve an item from this collection it comes back as an Object, so you'll need to convert the value when you retrieve it:
Dim stDate As String
Dim dtDate As DateTime
stDate = ds.ExtendedProperties("LastChanged")
If String.IsNullOrEmpty(stDate) = True Then
dtDate = DateTime.MinValue
Else
dtDate = Convert.ToDateTime(stDate)
End If
If dtDate < DateTime.Now AndAlso
ds.HasChanges = True Then
'... process DataSet
End If