I found this book extremely useful to build my basic understanding with ADO .NET, Windows Form and Web Form data binding and XML. The book is easy to read and has lots of examples to practice. This book will not teach you VB.NET/C#. So you should be comfortable with the language of your choice before reading this book. Some examples have minor errors. At some place VB.NET code is referred in C# example. If you are an intermediate VB.NET or C# programmer then you can easily catch and fix them.
I experience some problems with examples in Chapter 12 "Data-Binding in Web form" using MSDE 2000 SQL Desktop Engine
1- Connection Error with OLEDB Jet 4.0: "The Microsoft Jet database engine cannot open the file ......nwind.mdb"
2- Connection Error with OLEDBSQL: "Login failed for user 'SERVER_NAME\ASPNET'"
I was able to solve it by keeping the MSDE password in the connection string.
My connection string looks like this:
"workstation id=SERVER_NAME;packet size=4096;user id=sa;data source="SERVER_NAME\ InstanceName ";persist security info=True;initial catalog=nwind;password= AStrongSAPwd"
First, this book assumes you are already familiar with either vb.net or c#.net. This may be the reason some others have had problems, as her examples require some familiarity. An example from early in the book is "Add a call to the RefreshValues procedure to the end of each of the CheckedChanged event handlers." If you don't understand that sentence, you will have a hard time getting through this. You will want to start with one of the vb.net books (I recommend Coding Techniques for Microsoft Visual Basic .Net by John Connell for starting out).Otherwise, all of the sample code has worked fine and the errata listed on Microsoft's web site only has a few code sample problems.
So why 4 stars instead of 5? I think that she could have explained some of the topics and code a little more for those of us who are newbies to ADO. She seems to assume that the reader is familiar with ADO and is moving to ADO.NET and as a result does not explain some things quite as well as she could. One example of this is in DataTables. There is a table showing dofferent forms of the Tables.Add Methods. In the table, it shows 4 options and the text describing the entries in the table pretty much matches the table exactly. Then the examples only show 1 of the options and the remaining three options are never further explained or demonstrated.
The other problem I had was that there seems to be no point to the code. You will add a foreign key to a table and the code will add it and then display the name of the key you added. But then it is never used again in he program. There's a lot of how, but not very much why.
Still, I have used this book a few times now as a reference. It is the most complete book I have found so far in showing you how to do something in ADO.NET, so the technical content is very complete.
So, here's the summary. If you're already comfortable with VB.NET or C#.NET and especially if you are moving from ADO to ADO.NET, then I would recommend this book. If you are just starting with .NET programming, start elsewhere and then come back here. At the very least, it makes a good, complete reference to ADO.NET.