In classic ASP there is a recordset. In VB.NET is there the same functionality, or must one load the data into a datatable and fill the table with a dataadapter?
The recordset is retrieved, it's up to you how you want to handle it (scalar, dataset, or reader).
That was asp's way of retrieving the data. It stored it in there while you can read it. A scalar will retrieve one value, the dataset will store the entire recordset and allow you to disconnect from the database. The reader will just read through the recordset retrieved while the connection is still open.
Recordset is basically the same thing as dataset.
A recordset was kept on the sql server, and you were able to read off of the sql server until you were finished.
The dataset allows you to store the entire recordset within the dataset, then disconnect from the server. You were then allowed to mess with the datset any way you wish (which is much more functional than a read-only recordset), while not being attached to the sql server.
But beware, datasets require a lot of resources. Standard practice can really hinder performance.