DataSet and Recordset
Recordset represents data in memory, usually it's a table or result of a query such as joining two tables or using where clause. At one time there can be only one current record in Recordset, if you want to perform operations on other record you have to use move method. On the other hand DataSet can contain one or more tables from database, these tables are stored in object called DataTable. It is also very easy to retrieve data from it, you can use simple foreach loop to do so. With DataSet you can also maintain relationships between data tables such as for instance foreign key. Generally DataSet can include more rich and complex data and organize it in a clear manner.
As I mentioned before ADO Recordset requires constant connection to database to perform some operations on it while ADO.NET DataSet allows you to make changes and submit all of them to the database later. ADO.NET uses also data adapter which communicates with OLE DB provider while in ADO you communicate with it directly. Data adapters are significant advantage because it's very easy to set up and manage this connection (you can for instance optimize data transfer for performance)
Also performance of DataSets is better because of its architecture, it's faster and more portable than Recordset.
DataSet stores data in XML so it's easier to transfer it to other applications and they are more firewall-prove than Recordsets that are transferred using COM marshalling.
Summing up DataSet is better and more robust tool to manage data from databases and it provides more functionalities
http://www.netrostar.com/ADO-NET-DataSet-and-ADO-RecordsetSaranya Boopathi, if this helps please login to Mark As Answer. | Alert Moderator