I only started working with Clientadatasets recently so I'm no expert. A clientdataset exists only in memory. ApplyUpdates will make changes in the memory data and in the Delta property which is a record of all changes made to the database. Moving through the database using First, Last, Next, etc will also post the changes made in individual records as you leave them, but will not make an entry in the "Delta" property unless the LogChanges parameter is true.