Another no less (or even more) developed interface for communication with the database was made by me quite recently, at the end of 2005. This time, I needed to communicate with the database through an ODBC driver, bypassing ADO - that was the customer's requirement. The project was developed for VCL, respectively, the first version was made specifically for VCL. It was then that, amazed at the unexpected simplicity of the resulting code, I spent another couple of days making this interface available to KOL programmers as well. It is enough to define a conditional compilation symbol in the project options, and the classes become simple object types.
As with OLE DB, there is no parameter support in this interface, and this greatly simplifies the code. The TODBCDatabase object serves both for connecting to the database and for managing transactions (there is no separate object for managing sessions). The TODBCQuery object is the main workhorse, and can work with almost all data types when retrieving result fields.
A feature of this interface is the availability of the More method, which allows you to easily get several results in one request. Sometimes this feature is very useful in terms of improving query performance. In general, connecting directly through ODBC drivers, bypassing other intermediaries like ADO, improves work efficiency, and sometimes quite significantly.