I'm moving from VB.Net into C# and am developing data access classes. In VB.Net I always used a dataset since it gave me full ability to manupilate the data; read/write/update/delete. I've been reading on the net where some people disagree to using datasets, espcially in ASP.Net.

Ok but my question is, how can a data reader take the place of a dataset? How do you update a row with a datareader? If you can't, what does one do? Use SQL Insert statements to add records? Delete/Add instead of Read/Update?

For ASP.Net and VB.Net, I'd create data classes with all the needed data management code in a DLL for shared use by the desktop and web application. In this case, ASP.Net isn't using a dataset, it's calling a DLL that uses a dataset.

Are they that horrible and what's the alternative? (specifically for updates)

Thanks!