using the datareader is much more efficient than dataset.

but you can use datareader only when you don't need any updation in the data after retiving the data from Db.

using the dataset would be preferable when you need to perform add,edit operations on data.