DataSet holds information about the results, schema information also and allows editing of the table directly, then finally being able to commit changes to the database using the DataAdapter.
A SqlDataReader is different, it is a fast forward only reader bringing back the results from SQL, just the values itself, nothing about the Schema information or anything hence why its faster than doing a Fill() on a dataset using a SqlDataAdapter.
SqlDataReader is ideal if you just need to get values without caring about the data types and relationships etc...
DataSet can also be used to bind to a databindable component, having the ability to modify the data that exists in the dataset datatable.
does this answer your question? didn't quite understand what you were asking
Need 2 be back @ MS - MS All the way! Follower since 1995 MS Super Evangelist| MSDN Forums Moderator |