Dataset is a disconnected architecture.
It is a memory representation of the data.
Working with data set it is not required to establish the prior connection to the database.
Dataset stores the data temporarily with in the application.
DataReader will work with connection oriented architecture.
DataReader is Forward only object.
DataReader will use the command object to fetch the data from database.
It is possible to read current record to next only,we can't move to N th record directly.