Following are some major differences between dataset and datareader :-
√ DataReader provides forward-only and read-only access to data, while the
DataSet object can hold more than one table (in other words more than one
rowset) from the same data source as well as the relationships between them.
√ Dataset is a disconnected architecture while datareader is connected
√ Dataset can persist contents while datareader can not persist contents, they
are forward only.