Please refer to the following URLs to know the differences between DataReader and DataSet,http://onlydifferencefaqs.blogspot.in/2012/07/adonet-difference-faqs-1.htmlhttp://onlydifferencefaqs.blogspot.in/2012/08/difference-between-datareaderdataset.html
Connected Classes - Some Operations performing in the database to make some changesList of all classes :: ProviderFactory ConnectionTransaction ConnectionStringBuilderDataAdapterCommandParameterDataReader DisConnected Classes - Some Operations performing in the Client side without connecting to DB to make changes & then connect & save in to DBDataSet DatatableDataViewDataColumnDataRowConstraintDataRelationDataRowView
Actually in ADO.Net we have ConnectionOriented Classes & DisConnected Oriented Classes ConnectedOriented Classes - Connection to the DB should exist while performing tasks to show .DataReader DataAdapterDataConnection DisconnectedOriented Classes DataSetDatatableDataviewIn Disconnected Oriented Classes we can manipulate the data after the connection is closed or disposed then again we can connect & make changes in to the database.DataReader -- Mainly called as ReadOnly forward Cursor to access the data from the database