Accessing Data with ADO.NET The ADO.NET Object Model | Connecting to Data | Understanding Connection Pooling | Using Provider Statistics
Retrieving Data Introducing Command Classes | Working with Data Readers | Digging Deeper into Commands and DataReaders
Caching Data in DataSets Populating a DataTable | Filling DataSets Using a DataAdapter | Using the Load Method | Retrieving Schema Information | DataSets and XML
Applying Constraints Using Constraints | Foreign Key Constraints | Other Constraints
Data Relations Creating DataRelations | Navigation Pathways | Expressions and Relations | Specifying XML Nesting
Updating Data Creating Commands with CommandBuilders | Creating Custom Commands | Using Stored Procedures |
Performing Batch Updates
Using Strongly Typed DataSet Classes Using a Loosely Typed DataSet | Creating a Strongly Typed DataSet | Using a Strongly Typed DataSet | Issues with Using a Strongly Typed DataSet
Handling Exceptions and Data Errors Using Structured Exception Handling | Handling Provider Errors | Using Transactions | Handling Concurrency Conflicts
Searching, Sorting, and Filtering The Sample Project | Working with DataTables | Working with DataViews
Handling AutoIncrement Columns The AutoIncrement Property | Retrieving New Database Values | Avoiding Multi-User Conflicts | Merging Inserted Rows | Other Considerations
XML Techniques ADO.NET and XML | Saving DataSet Data as XML | Loading XML Data into a DataSet | Working with DataSets and XML Together | Working with XML Data in SQL Server
Features Supporting SQL Server Enumerating Servers on a Network | Asynchronous Processing | Multiple Active Result Sets (MARS) | Bulk Copy Operations | SQL Server Max Data Types | SQL Server User Defined Types | SQL Server Snapshot Isolation
|