Parkash said..
Comparison of DataSet and DataReader objects (DataSet vs DataReader)
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.
When application needs to access data from more than one table DataSet forms the best choice.
If we need to move back while reading records, datareader does not support this functionality.
One of the biggest drawbacks of DataSet is speed. 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.