The following are the major differences between "DataSet" and "DataReader"
1. "DataSet" is a disconnected architecture, while "DataReader" has live connection while reading data. If we want to cache data and pass to a different tier "DataSet" forms the best choice and it has decent XML support. Data can manipulate in the "DataSet"
2. When application needs to access data from more than one table "DataSet" forms the best choice.
3. Whereas, "DataReader" is connection oriented, readonly and forward only.
4. The biggest drawback of DataSet is spped. As "DataSet" carry considerable overhead because of relations, multiple tables etc speed is slower than "DataReader". Always try to use "DataReader" wherever possible, as it's meant specially for speed performance.
More Questions & Answers are available at:
http://interview-questionsandanswers.blogspot.com/