What Was Left Out

What Was Left Out

This book is not a reference or a primer about ADO.NET. A good primer and reference to ADO.NET is ADO.NET in a Nutshell by Bill Hamilton and Matthew MacDonald (O'Reilly). The MSDN Library is also invaluable. It is included with Visual Studio .NET and available online at http://msdn.microsoft.com/library/default.asp. SQL Server Books Online, installed with Microsoft SQL Server and available in MSDN Library Online, is an excellent reference to SQL Server.

This is not a book about how to use Visual Studio .NET to build, compile, and deploy applications. See Mastering Visual Studio .NET by Ian Griffiths, Jon Flanders, and Chris Sells (O'Reilly) for excellent coverage of these topics.

Conventions Used in This Book

This book uses the following typographic conventions:

Constant width

Used for program listings. Also used within paragraphs to refer to program elements such as namespaces, classes, and method names .

  Bold constant width  

Used in program listings, to highlight an important part of the code.

//.. .

Ellipses in C# code indicate text that has been omitted for clarity.

<!-- ... -->

Ellipses in XML schemas and documents indicate text that has been omitted for clarity.


Used for example URLs, names of directories and files, options, and occasionally for emphasis.

This icon indicates a tip, suggestion, or general note.

This icon indicates a warning or caution.

About the Code

Nearly every recipe in this book contains a code sample. The sample is not just a fragment, but rather a complete solution that takes the form of either a Windows Forms or a Web Forms application.

In many cases, the solution code contains additional code that lets you explore alternatives, test performance, and see information that will help you understand key concepts. Multiple solutions are sometimes presented. Where appropriate, one alternative will be recommended; in other cases, alternatives are equivalent and selection should be based on your specific application requirements.

Complete error handling is not included for each solution. Omitting error handling makes the solution easier to understand by focusing on the key concepts. Error handling that is a key part of the solution is included and explained thoroughly. These principles can also be applied to other solutions in this book.

All of the code examples in the book use C# as a programming language. Listing VB.NET solutions would have made the book less readable, added hundreds of pages to its length, and increased both cover price and weight. VB.NET code for all solutions in addition to C# code is available on the book's web site, http://www.oreilly.com/catalog/adonetckbk. There are also release notes explaining installation and configuration.

.NET introduced the C# programming language as well as VB.NET. Both languages compile to the same intermediate language (IL) used by .NET and are more similar than different; differences are mainly syntactic. They can also be mixed within the same solution. Most VB.NET programmers have little trouble converting C# samples. The book C# and VB.NET Conversion Pocket Reference by Jose Mojica (O'Reilly) provides a concise (139-page) reference with all the details about converting between C# and VB.NET. The Appendix A covers this as well.

The solutions using SQL Server use the Northwind sample database. Some solutions require additional tables and stored procedures; these can be installed using the installation script from the example code from the web site. The Oracle solutions use either the SCOTT sample database installed with Oracle, or, in some cases where SCOTT is inadequate, a version of Northwind that has been ported to Oracle. Instructions for creating this database are also available in the example code.

Some solutions require stored procedures. Most are written for Microsoft SQL Server; however, in some cases Oracle is used because the recipe solves a problem specific to Oracleidentity columns in SQL Server versus sequences in Oracle, for example. SQL Server's T-SQL is somewhat similar to Oracle's PL/SQL; Oracle users, or users familiar with other procedural extensions to SQL, should have little difficulty understanding or adapting these stored procedures. The disconnected parts of the ADO.NET are database independent and are, for the most part, portable without modification regardless of the underlying data source.