|
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 2005
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
|