In this chapter, you learned about ADO.NET data providers and some of the objects in the System.Data Framework classes. We covered the following topics:
How to select the correct .NET data provider for your database.
How to create a Connection object with an appropriate connection string and how to control connection pooling.
How to create Command objects and how to use appropriate methods for different types of database queries.
How to use a DataReader to access rows of data returned from a database query. How to move through the data in a forward-only, read-only fashion and how to retrieve individual column values. How to access multiple resultsets in a single DataReader.
How to use the ExecuteNonQuery and ExecuteScalar methods to run queries that do not return rows of data.
How to use Visual Studio .NET to create, edit, and test stored procedures.
How to call stored procedures with the ADO.NET Command object, using the Parameters collection to pass input parameters and retrieve output parameters and return values.
How to use the new ADO.NET Transaction object to coordinate multiple database updates in the same procedure.
How to handle data access exceptions when an error occurs.