DataReader is connected object and one can process the rows that are returned by query, one at a time. It discards every row after you have gone through it and so it is extremely fast.It contains only read-only data, so no updates are allowed using DataReader objects.
In DataReader you can not get the no. of records directly from RecordSet.This is similar to VB 6, ForwardOnly RecordSet.
Meanwhile DataSet is disconnected object type.It uses XML to store data
Data reader is much faster then dataset if only selection query is their
If you have the better answer, then send it to us. We will display your answer after the approval.