DataReader:
It is read only format, we can't update records.
It is connection oriented, whenever data bind from database that need connection and then connection is disconnected.
DataAdapter:
Dataadapter is a disconnected oriented architecture.
DataAdapter is like a mediator between DataSet (or) DataTable and database. This dataadapter is used to read the data from database and bind to dataset.