Article Options
Premium Sponsor
Premium Sponsor

 »  Home  »  Reviews  »  Book Reviews  »  ADO.NET in a Nutshell
ADO.NET in a Nutshell
by John Spano | Published  07/03/2003 | Book Reviews | Rating:
John Spano

John Spano cofounder and CTO of NeoTekSystems, a Greenville, South Carolina technology consulting company. NeoTekSystems offers IT consulting, custom programming, web design and web hosting. We specialize in Microsoft .Net enterprise development and business design.

I have six years of experience in software architecture. My primary focus is on Microsoft technologies, and I have been involved in .NET since beta 1. I currently hold a MCSD certification, 2 MCTS's (Windows, Web) a MCPD in Distributed, 2 MCITP's, a Microsoft MVP, and have won the Helper of the Month contest for July 2002 in the devCity.NET forums.

Corporate URL: www.NeoTekSystems.com
Primary email: JSpano@NeoTekSystems.com
Alternate email: Jspano@devcity.net.

 

View all articles by John Spano...
ADO.NET in a Nutshell (book review)

If it wasn't enough that .NET was built on a totally new platform, Microsoft went and changed ADO to be totally new also. The new version of ADO called ADO.NET, is functionally very different from the old version. It is totally disconnected and built around object oriented coding concepts giving programmers a very powerful data access platform.

Because of the many changes, I would like to suggest a good book to help you get started with ADO.NET. ADO.NET in a Nutshell, written by Bill Hamilton and Matthew MacDonald, ISBN 0596003617, will help bridge the gap very effectively. It was published by O'Reilly.

I liked the writing style of the book. It is concise and to the point without any fluff. My time is valuable, and I don't want to waste it by reading a bunch of junk to get to the point. The book provides exact to-the-point answers to the questions about ADO.NET. All aspects of the new data access layer are covered, from simple selects, to multiple transactions, to Winforms databinding. The authors also go over how XML is used in ADO.NET and how to take advantage of it.

The second part of the book covers the core classes that make up ADO.NET. It is designed to be a quick reference on each one. The authors did a good job of providing good points about each one and common troubleshooting tips, and not just coping information you can find in the Microsoft documentation.

Section three tells how to use the book more effectively, and demonstrates how to translate the C# samples in the book to VB.NET. A quick reference to the System.Data namespace is also given. It contains the classes in the namespace and all contained namespaces.

Section four contains information about the different data providers that .NET offers and other facts about ADO.NET. A full index of all properties, types and methods if offered here also. For those not familiar with MSDE, Microsoft's free scaled down instance of SQL Server, should read the information about it here also to get familiar with common SQL Server functionality.

This is another 10 from O'Reilly. I loved the style of the book, straight to the point with relevant information. The quick reference sections are great also. You have all constants, functions, classes, enums etc right in front of you. No searching through MSDN! The authors stuck with one language throughout, C#, which is also a plus. I find it more difficult to read books where the examples are in several different languages.

Table of Contents:

    Preface
    I. ADO.NET Tutorial

  1. Introduction
    • ADO.NET Data Providers
    • Connected and Disconnected Data
  2. .NET Data Providers
    • Data Providers
    • Selecting a Data Provider
    • Creating a Custom Data Provider
  3. Connections
    • Connection Object Overview
    • The Connection String
    • Opening and Closing Connections
    • Connection Pooling
  4. Commands
    • Command Object Overview
    • Creating and Executing a Command
    • Parameter Object Overview
    • Parameterized Commands
    • Commands with Stored Procedures
    • Commands and Data Definition Language (DDL)
  5. DataReaders
    • DataReader Object Overview
    • Performing a Query with a DataReader
    • Stored Procedures with the DataReader
    • DataReaders and Schema Information
  6. DataSets
    • Creating an Untyped DataSet
    • Working with Tables in the DataSet
    • Adding and Removing Relations
    • Adding Custom Information
    • Cloning the Schema
    • Copying the DataSet
    • Merging Two DataSets
    • Removing All Data
    • Resetting the DataSet
    • Committing and Discarding Changes
  7. DataTables
    • Creating a DataTable
    • Working with Columns
    • Constraints
    • Primary Key
    • Rows
    • Loading Data
    • Committing and Discarding Changes
    • Cloning the Schema of the Table
    • Copying the Table
    • Selecting a Subset of Rows
    • Performing Aggregate Calculations
    • Removing All Data
    • Resetting the Table
    • Identifying Errors in the Table
    • DataTable Events
  8. DataColumns
    • Creating DataColumns
    • Creating AutoIncrement Columns
    • Creating Expression Columns
    • Handling Null Values
    • Mapping .NET Data Provider Types to .NET Framework Types
  9. DataRows
    • Creating a DataRow
    • Updating Rows
    • Deleting Rows
    • Using Row State Information
    • Using Row Version Information
    • Accepting or Rejecting Changes to Rows
    • Navigating Parent and Child Rows
    • Using Row Error Information
  10. Constraints
    • Constraint Object Overview
    • The UniqueConstraint
    • The ForeignKeyConstraint
  11. DataRelations
    • DataRelation Object Overview
    • Navigating Relational Data
  12. DataViews and Data Binding
    • The DataView and DataViewManager
    • Sorting and Filtering
    • Accessing Data Through a DataView
    • Windows Data Binding
    • ASP.NET Data Binding
  13. Strongly Typed DataSets
    • Creating a Strongly Typed DataSet
    • Adding a Row
    • Editing a Row
    • Finding a Row
    • Null Data
    • Navigating Hierarchical Data
    • Annotations
  14. DataAdapters
    • Creating DataAdapter Object
    • Retrieving Data from the Data Source
    • Retrieving Schema Information from the Data Source
    • Updating the Data Source
    • Mapping Tables and Columns
    • AcceptChangesDuringFill
    • ContinueUpdateOnError
    • DataAdapter Events
  15. Updating the Data Source
    • SqlCommandBuilder Class Overview
    • Updating a Data Source Using Command Builder
    • Updating a Data Source Using Custom Logic
    • Refreshing Data After Updating
    • Retrieving Updated Values from the Data Source
    • Updating Data in Related Tables
    • Handling Concurrency Issues
    • Optimization
  16. Transactions
    • Manual Transactions
    • Isolation Levels
    • Savepoints
    • Nested Transactions
    • Transactions Using a DataAdapter
    • Automatic Transactions
  17. XML and the DataSet
    • DataSet XML Methods
    • Shaping DataSet XML
    • Other .NET XML Classes
    • XmlDataDocument Object Overview
    • Using the Data Objects to Edit XML
    • SQL Server 2000 XML


    II. ADO.NET Core Classes

  18. The Connection Class
    • Comments/Troubleshooting
    • Properties Reference
    • Methods Reference
    • Events Reference
  19. The Command Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
    • Methods Reference
  20. The Parameter Class
    • Comments/Troubleshooting
    • Properties Reference
  21. The DataReader Class
    • Comments/Troubleshooting
    • Properties Reference
    • Methods Reference
  22. The DataSet Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
    • Methods Reference
    • Events Reference
  23. The DataTable Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
    • Methods Reference
    • Events Reference
  24. The DataColumn Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
  25. The DataRow Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
    • Methods Reference
  26. The Constraint Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
  27. The DataRelation Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
  28. The DataView Class
    • Comments/Troubleshooting
    • Properties Reference
    • Methods Reference
    • Events Reference
  29. The DataAdapter Class
    • Comments/Troubleshooting
    • Properties Reference
    • Collections Reference
    • Methods Reference
    • Events Reference
  30. The CommandBuilder Class
    • Comments/Troubleshooting
    • Properties Reference
    • Methods Reference
  31. The Transaction Class
    • Comments/Troubleshooting
    • Properties Reference
    • Methods Reference


    III. API Quick Reference

  32. How to Use This Quick Reference
    • Finding a Quick-Reference Entry
    • Reading a Quick-Reference Entry
  33. Converting from C# to VB Syntax
    • General Considerations
    • Classes
    • Structures
    • Interfaces
    • Class, Structure, and Interface Members
    • Delegates
    • Enumerations
  34. The System.Data Namespace
  35. The System.Data.Common Namespace
  36. The System.Data.SqlClient Namespace
  37. The System.Data.OleDb Namespace
  38. The System.Data.SqlTypes Namespace
  1. ADO.NET Providers
  2. ADO.NET XML Extensions
  3. Microsoft Data Engine (MSDE)
  4. Type, Method, Property, and Field Index
    Index

Order your copy of ADO.NET in a Nutshell at Amazon.com.

How would you rate the quality of this article?
1 2 3 4 5
Poor Excellent
Tell us why you rated this way (optional):

Article Rating
The average rating is: No-one else has rated this article yet.

Article rating:3 out of 5
 6 people have rated this page
Article Score18025
Sponsored Links