YOUR FEEDBACK
johnpetersen wrote: Great post. You hit some good points, and hopefully me sending this post. It wil...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Book Review: Pro ADO.NET 2.0
A complete guide to ADO.NET 2.0

This book bills itself as the only ADO.NET you will ever need. This is a bit boisterous, but mostly true. This book covers pretty much all facets of ADO.NET programming, and covers them well. This well-written book can take an ADO.NET novice, and advance him or her to being an ADO.NET pro.

This book concentrates on ADO.NET, so to be a complete database programmer, you will need other books to cover the non-ADO.NET parts of database programming; in particular, this book does not really cover SQL syntax, or non-programming aspects of databases. Experienced database programmers will already have this knowledge, but programmers who are new to database programming will need at a least a good book on SQL syntax. However that is fine; no book can cover everything, and as far as ADO.NET 2.0 itself goes, this is likely to be the only book you need.

Like most ADO.NET books, this one starts off discussing the problems with connected ADO database programming, and how the disconnected model of ADO.NET solves these problems. It then does an excellent job of presenting an overview of the entire ADO.NET class hierarchy. This includes the base classes that define ADO.NET, and the derived classes that provide interfaces for each of the different databases. It does this both graphically with class diagrams, and by discussing each of the classes and its members.

It then shows how to do basic database programming using both the drag-and-drop capabilities of ADO.NET components and Visual Studio, and also how to manually create connections using just code. The next half dozen chapters go into more detail on each part of database programming, starting with connecting to the database with details on the IdbConnection interface and the DbConnection class. It also covers why connection pooling is important, how it works, and how to change the default settings when needed.

Next it covers basic database queries on connected databases, and some more advanced topic such as executing large queries asynchronously, storing .NET objects in SQL Server 2005, and retrieving multiple datasets with a single query. Although this book concentrates on using SQL Server 2005, it also points out how things differ if you are using Oracle, Access, or older versions of SQL Server. Here it points out that you can return multiple datasets from Oracle, but it warns that for future compatibility, you should return multiple cursors instead. I like that about this book. It follows this with a chapter on disconnected databases covering details on the DataSet object including tables, rows, columns, constraints, relations, and primary keys. The chapter ends with a discussion of strongly typed DataSets using XML Schemas. Later in the advanced part of the book there is a chapter devoted to accessing XML files as databases. There is a chapter on retrieving data and creating queries both manually and graphically, a chapter on sorting, searching, and filtering, which includes more information on the XmlDataDocumnt object, and creating XmlSchemas. XML plays several key roles in ADO.NET, and this book reflects that.

The final chapter on basic ADO.NET covers updating data, including adding, modifying, and deleting rows. It spends a lot of time on merging tables, including some more information on differences between how SQL Sever and Oracle handle merging. The first chapter in what I would call the advanced section (the book is not officially divided into two sections) continues with more advanced updating issues such as concurrency issues, null values, and how triggers affect the "number of rows affected" value returned by an update. It also includes working with hierarchical data. The next chapter covers transactions starting with the basic ACID definition (Atomic, Consistent, Isolated, and Durable), to threads and differences between ADO.NET 1.1 and ADO.NET 2.0.

The next-to-last chapter covers using .NET as stored procedures and triggers inside SQL Server. Microsoft and others are pushing triggers and stored procedures as the best and most modern way to implement database logic, and starting with SQL 2005, SQL server can import .NET assemblies into the server to be used as stored procedures. Personally, I think this is the coolest feature in SQL 2005, and this book does a good job of getting you started using it.

The final chapter in the book covers ADO.NET best practices. This chapter is dived into two sections. The first sections covers situations such as deciding between using a DataReader and a DataSet, where the choice depends on the job. The book gives good, concise information on when to use which one. The last part of the chapter covers situations like connected versus disconnected databases, where baring unusual circumstances, one will clearly be the better option.

Also as a bonus, until about March, those who purchase this book can also download the ebook (normally $25) for free.

This is likely to be the one ADO.NET book that stays next to my desk for quick reference.

SIDEBAR

Title: Pro ADO.NET 2.0
Author: Sahil Malik
Publisher: Apress
ISBN #: 1-59059-512-2

Price: US $49.99

About Dennis Hayes
Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

YOUR FEEDBACK
SYS-CON Belgium News Desk wrote: This book bills itself as the only ADO.NET you will ever need. This is a bit boisterous, but mostly true. This book covers pretty much all facets of ADO.NET programming, and covers them well. This well-written book can take an ADO.NET novice, and advance him or her to being an ADO.NET pro.
MICROSOFT .NET LATEST STORIES
OpenSpan and TIBCO have announced a technology and business partnership designed to extend TIBCO solutions to desktop environments. The partnership will enable TIBCO Service-Oriented Architecture, Business Process Management and Business Optimization solutions to more rapidly integrate...
In a move that looks tailor-made for an antitrust suit, Microsoft says it’s going to give away a consumer security kit that it’s building code named Morro. It should be available in the second half of next year – probably more like mid-year. The freebie widgetry is supposed to de...
Tidal Software has announced Intersperse 8.0, a product that monitors J2EE and .NET applications and their transaction component performance to produce meaningful metrics for managing applications and high-level business processes. The product leverages a combination of lightweight Ja...
DataGuise has announced their first masking in place solution for multi-database environments such as Oracle, Microsoft SQL Server, and others. The dgSolution Suite provides secure masking of database content and is designed for the highest level of flexibility and functionality across...
The BlackBerryR Technical Webcast Series is designed to help BlackBerry administrators better manage and leverage the capabilities of their BlackBerry solution. Each webcast is packed with detailed technical information, covering topics that are relevant to you. Our on-demand webcasts ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
Simba Technologies Inc., industry's choice for standards-based relational and multi-dimensional data...