Datareader:
- DataReader provides forward-only and read-only access to data.
- Datareader is connected architecture
- Datareader can not persist data.
Dataset:
1. Disconnected.
2. Can traverse data in any order front, back.
3. Data can be manipulated within the dataset.
4. More expensive than datareader as it stores multiple rows at the same time.