Difference between ADO.NET Dataset and ADO Recordset?

  1. A Dataset can represent an entire relational database in memory, complete with tables, relations, and views. A Recordset cannot do the same.
  2. Dataset can fetch source data from many tables at a time, whereas for Recordset you can achieve the same only using the SQL joins.
  3. A Dataset is designed to work without any continuing connection to the original data source. Recordset maintains continuous connection with original data source.
  4. Data in a Dataset is bulk-loaded, rather than being loaded on demand. 
  5. There's no concept of cursor types in a Dataset. 
  6. Datasets have no current record pointer you can use foreach loops to move through the data. Recordsets have pointers to move through them.
  7. You can store many edits in a Dataset, and write them to the original data source in a single operation. 
  8. Though the Dataset is universal, other objects in ADO.NET come in different versions for different data sources.