Databases are probably one of the most underestimated types of applications. Though users usually do not see them at all, they are behind most programs—be it financial software, an online ticket reservation system, or a web-based, full-text retrieval system.
Since databases are so important and ubiquitious in most types of software, it is not surprising that even Qt programs often need to access a database. Until Qt 3, accessing a database was possible, but Qt did not provide any support to do so. You could use whatever API was available for your platform and your database. For example, ODBC on Windows systems is at least portable across Windows databases, but is not very known on Unix and the Macintosh. The Oracle Call Interface, on the other hand, is available wherever Oracle databases are available, but is not portable to other databases. If you want your application to run on different platforms with different databases, you are on your own.
Luckily, this has changed with the release of Qt 3—at least if you use the Enterprise Edition or the Free Edition, which contain the so-called Structured Query Language (SQL) module that provides platform-independent and database-independent database access on all platforms that Qt supports. Several databases are supported already, and it is likely that more will be supported in the future.
Writing a program that accesses a database requires a general understanding of databases and some familiarity with the ...