Is there some sort of a consensus about the best practices for accessing and saving data through datasets in the .NET development environment? Dealing with the ado control in VB6 has given me somewhat of an aversion to heavy drag and drop coding, dataset creation, etc. Because of this I like to do everything programmatically despite the time that it takes. I usually interact with the database with stored procedures via web services. For instance, when I'm saving data, I create another dataset and insert the values from the text boxes and other controls into it and pass it to the web service which sends it to the stored procedures. Am I being too cautious? Admittedly, I have a pretty small sphere of programming cronies, but what is the best practice for this sort of thing? Binding all controls to the dataset, saving changes to the dataset and writing it back to the database? It would be great to hear from anyone with some experience doing this type of programming for an average to large size company. Any input is appreciated.