"Beginning ASP.NET 1.1 Databases" By Damien Foggon and Daniel
Maharry Published by APress One of the first books I bought as a classic ASP developer
was the former Wrox's "Beginning ASP
Databases", which greatly helped me understand the role, relationship and
relevance of database systems in modern web applications. I attacked that title with reckless abandon
and limited foundation, acquiring a ton of knowledge. It was with this same fervor that I launched
into APress' "Beginning ASP.NET 1.1
Databases" - perhaps my over-exuberance, coupled with the fact that I know
a lot more now than I did then, led to slight disappointment with this title. Don't get me wrong, overall this is a great piece of work,
and what it does cover it covers very well.
But it did leave out some critical areas that one should know as an
ASP.NET developer. I give high marks for the book's breadth of examples with a
variety of data stores, such as MSDE, Access, and MySQL,
as well as Excel spreadsheets and CSV files.
Curiously though, Microsoft SQL Server, Oracle and XML data sources were
left out – I assume because MSDE so closely resembles SQL Server such
would be redundant; and arguably describing XML is too tough to succinctly
crunch into three paragraphs and then provide a working example. The scaled choice of database platforms, highlighted by the
fact that ASP.NET Web Matrix is featured exclusively as the IDE of choice,
leads me to believe that the book's intended audience would be the migratory
developer or the first-time ASP.NET coder without access to enterprise-level
resources. This is cool, and necessary
in today's market, as too many books these days assume a Visual Studio .NET/SQL
Server/Windows 2000 Server setup, which obfuscates the hobbyist. The only caveat is that the book's code
samples are so married to Web Matrix that the newbie
programmer will be lost without it. The book's case studies are greatly appreciated, and best
practices in single-page coding and application design are enforced
throughout. The authors make great use
of Five Normal Forms (FNF) in the sample projects. The chapter on stored procedures is likewise
great, as is the discussion on error handling, and introductory devs will also much from the samples dealing with
transactions. Unfortunately, the phrase "...will not be covered
further in this book..." is uttered on too many occasions for topics this
I feel are critical knowledge for an ASP.NET developer of any level. Examples of these are largely skipping many
of the important members within the System.Data.SqlCommand
class (notably the ExecuteXmlReader() method), and only mentioning the SQL GROUP BY and HAVING
clauses, without an exhibition of their use in a query. These clauses are critical learning for
database programming, and certainly warrant at least a brief example. Tragically, they were mentioned only and then
discarded without exhibiting what they do.
This was disappointing. I also didn't see anything about using the SqlCommandBuilder within the text, which is a great topic
for beginners, since it's one of the "ignorance is bliss" features of
ADO.NET, doing all the work for you behind the scenes, and is a great way to
learn SQL syntax. It's therefore the
perfect candidate for this book's target audience. I felt this to be an odd omission, given the
fact that the DataSet.Update() method was mentioned.
For the same reasons, I was offset by the fact that concurrency was left
out (in the .NET world, a topic of debatable complexity – some see it as
critical learning, others think it's too far advanced for a beginning
book). Nonetheless, the authors both speak clear and concise about
the subject matter, all samples feature code that's simple, consistent and
non-intimidating, and the use of graphics and illustrations effectively
reinforces the concepts. This book makes
a great learning tool for a classroom environment, if not a helpful guide for a
professional web shop. This book gives
you a look at the options available to you and will get you started and give
you the tools to get far enough - but doesn't get you all the way there. --------------------------------------------------- Blog: http://weblogs.asp.net/jasonsalas Voice: 671-688-2142
Yahoo! Groups Links
|