Even though you now only have to write to one API to access any database, the ODBC API isn’t a simple API by any means. It has to cater for almost any functionality that any database out there can support, so you can imagine that the ODBC API is quite complex. ODBCExpress wraps the ODBC API into a set of easy-to-use classes for Delphi and C++Builder, so that you don’t even have to know much (if anything) about the low-level ODBC API to fully make use of ODBC in your applications! However, the application programmer still has access to all low level ODBC functions, giving the programmer the flexibility of the ODBC API.
ODBCExpress provides you with access to the entire ODBC API. Source code availability gives you full control over the database middleware and allows you to trace down as far as the low-level ODBC call. This transparency means you can avoid the pains of impenetrable database engines during debugging. In the BDE for example ODBC calls are hidden by the BDE, which adds another layer adding complexity and problems to your database interface. So if you for example hit a problem when using BDE-ODBC you have no idea if the problem lies with the BDE or with your ODBC driver.
ODBCExpress compiles completely into your executable, which means no distribution of an external database engine is necessary. You will need to distribute the ODBC driver or drivers used by your application, and of course you need ODBC installed on the client’s machine, however this is normally distributed with the operating system, and is also freely available for download from various web locations. Because ODBCExpress talks directly to ODBC, and ODBCExpress’s architecture is optimized for performance, there is no other database middleware for Delphi which can match the speed of ODBCExpress. ODBCExpress was designed for the express purpose of writing large and responsive industrial-strength data access applications.