Datareader and DataAdapter are the objects of ADO.NET
Datareader:
it is connected architecture. You need to keep connection open while fetching records from database. It will fetch one record at a time. It is forward and readonly
here[
^] is example of datareader.
Dataadapter:
it is disconnected architecture. You not need to keep connection open while fetching records from database.
example[
^]