data set can natch source data from many tables at a time, whereas for record set you can achieve the same only using the sql joins
The differences between ADO.NET Dataset and an ADO Recordset are as follows : 1) Dataset can fetch source data from many tables at a time, whereas for Recordset you can achieve the same only using the SQL joins. 2) A DataSet can represent an entire relational database in memory, complete with tables, relations, and views. A Recordset cannot do the same. 3) A DataSet is designed to work without any continuous connection to the original data source. Recordset maintains continuous connection with the original data source. 4) DataSets have no current record pointer, you can use For Each loops to move through the data. Recordsets have pointers to move through them.