the problem is your are confusing, languages and frameworks.
.net is a framework to compile code. c# is one language the .net framework understands, other are vb, ruby, python, j#, etc.
c# is a programming language. just like c++, vb, java, php, ruby, etc.
asp.net is a framework for fulfilling web requests.
ado.net is a framework for accessing persistent storage (ie: databases)
something you haven't mentioned is webforms. but most .net developers thing webforms and asp.net are the same thing they are not. I described asp.net above. webforms is an (overcomplicated) html rendering engine that runs on top of asp.net.
think of ado.net and asp.net as subsets of the .net framework. on works without the other. think of webforms as a template engine to generate html, nothing more. c# is how to write the code which may, or may not use anyone of the frameworks described above.
now to complicate this. webforms has objects which lets you directly access the database from the aspx file. DO NOT DO THIS. it breaks the principle of signal responsibility and creates untestable (as in automated testing) code.
not to mention that database access is a solved problem. with ORMs like LLBL, Nhibernate, ActiveRecord and WilsonORMapper there is no need to write ado.net code directly.
while this doesn't answer how to write the code, it should give you some ideas about what the different frameworks do.
Jason Meckley
Programmer
Specialty Bakers, Inc.