Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Dr.Bob) - Medical Officer Dr.Bob's Kylix Kicks
 Review: Delphi/Kylix Database Development
See Also: Dr.Bob's Programming Books for Delphi, Kylix & C++Builder books co-authored by Bob Swart
Delphi/Kylix Database Development
Eric Harmon
414 (no CD-ROM)

I've finally finished my copy of Delphi/Kylix Database Development, a new masterwork from Eric Harmon about dbExpress (available in both Delphi 6 and Kylix 2). The book covers many topics, ranging from setting up a database connection to single as well as multi-tiered (DataSnap) database applications. It's a great resource for dbExpress development!

Delphi/Kylix Database Development is a book of 400 pages about a relative narrow topic. Which is a good thing, as it saves you from having to skip the first few hundred pages that introduce Delphi and/or ObjectPascal (as I often encounter in Delphi books). This book assumes you already know Delphi and ObjectPascal, but have little or no experience using dbExpress - the new cross-platform data-access layer for Delphi, Kylix or C++Builder.

The book consists of nine chapters and two appendices. Before the chapters start, a small introduction explains what the book is all about (mainly dbExpress), and what the expect from the book.
The first chapter, "Establishing and Using Database Connections", starts with dbExpress and shows how to make a connection to a database using dbExpress (often the starting point indeed).
Chapter 2, "dbExpress Datasets", builds on this example and gives and overview of the dataset components found in dbExpress, showing how to use them and when to use which one.
Chapter 3, "Client Dataset Basics", covers the TClientDataSet component, which plays an important role in both dbExpress and DataSnap (a topic from a later chapter).
Chapter 4, "Advanced Client Dataset Operations" continues the coverage of the ClientDataSet, discussing some advanced features such as nested datasets, BLOBs, undo support, etc. No reconcile error handling, yet, because that will be covered in the DataSet Provider chapter.
Chapter 5, "Data-Aware Components" is a bit of a basic chapter for more Delphi developers, since we have probably worked with data-aware components for years now. The best thing about the chapter is that it also shows how to write your own custom data-aware components, building a sample data-aware TDataTimePicker.
Chapter 6, "Data-Aware Grids" covers TDBGrid but goes in-depth when it comes to the things you can do with it (I actually learned some new techniques). It also covers TClientDataSetGrid, written by John Kaster, and at the end of the chapter lists a few third-party grid components.
Chapter 7, "DataSet Providers" covers the TDataSetProvider component, which is the foundation for the multi-tier capabilities of Delphi and Kylix. This chapter contains lots of details, and also covers the reconcile error dialog. Any DataSnap developer should read this chapter, and will probably learn a lot from it.
Chapter 8, "DataSnap" is mainly for Delphi developers, since it covers multi-tier applications using Delphi-specific connection components.
Chapter 9, "The ConMan Application" covers a contact management Delphi application as an example multi-tier database application in the real-world.

With both Delphi and Kylix in the title, just how much of the book is Delphi specific, and how much is Kylix specific? Well, it turns out that the book is about Delphi using mainly the cross-platform CLX (which is supported by both Delphi and Kylix). Sometimes a reference is made to VCL-specific issues, and parts of the DataSnap chapter are also Delphi only. Apart from that, all of the 50+ screenshots are made on Windows, so the book feels mainly as a Delphi Database Development book, with the added (automatic) benefit that dbExpress in itself is cross-platform. You should think twice, however, if you're a pure Kylix developer, since there may be Kylix/Linux specific issues that are not addressed in this book.
All in all, it's a good book with lots of detail when it comes to dbExpress (and even DataSnap - formerly known as MIDAS - gets a more than decent coverage). The fact that the author was assisted by the Borland engineers responsible for dbExpress and with intimate knowledge of DataSnap really helped to get the book to this level. The only disadvantage that I can think of is that dbExpress isn't static, and new drivers (and add-on components) are still being developed - something not addressed in this book, so you may want to look for additional resources such as the Borland Community website for up-to-date driver information. But regardless of that, I always recommend it at my Delphi Clinics on dbExpress or DataSnap, and in fact I can highly recommend it to any Delphi dbExpress database developer.

(Bob Swart)

More Book Reviews

This webpage © 2002-2003 by webmaster drs. Robert E. Swart (aka Dr.Bob - All Rights Reserved.