First impressions of Diamond Access

by Gernot Baecker

BDE, DAO, ADO, or what? Everyone who is seriously programming database access with Delphi is complaining about megabytes of BDE DLLs and so called native drivers for Microsoft Access (see Editorial). If you ever try these 'natives' you find that they barely do part of the job. Ever tried to create a new MS Access database? Or tried to access the queries in the MDB file? You won't succeed?
      I had a first look at the latest version of Diamond Access 1.35, a BDE replacement which accesses Microsoft Access databases directly through Data Access Objects 3.5 (DAO). The code is written by Timur Islamov.
I was impressed by the small footprint the engine left in the program. Overall it adds about 100KB to your program. And does it work?
      The answer is definitely YES. You do not have to know anything about DAO programming. Just put a TDAODatabase on your form and connect it to your database, put a TDAOTable for the tables there to access the tables and link it to your data-aware components through a standard TDatasource. Here you go. No hassle no new things.
      How about queries? Instead of the TDAOTable, you use TDAOQueryDef, specify the name of the query (very similar to stored procedures) and that is it. As a programmer you can still use MS Access to visually develop your queries (which is a great thing, if you do not own the C/S version of Delphi) and use the tested queries in your code. And you can still separate the query code from the program code, a great thing to implement business rules. So far I did not encounter any speed problems but I will check this in the full review. Creating databases from scratch is easy with some DAO methods (which you find in the MS Access help file). Overall I think this is a great replacement if, and here is the downside, you only want to work with MS Access databases. However what you lose in portability, you gain in speed and flexibility.
      Watch for a more detailed review in the near future - GJB