DBStep is a lightweight C++ library for database abstraction and object/relational mapping. It is targeted at C++ developers who need to access databases, and consists of a set of interface classes and some drivers for common data sources. Currently available drivers are for mysql, postgresql, sqlite, firebird and ODBC.

Database access is provided in at two levels:

First level API are accessed through classes DBSTEP::Db and DBSTEP::QueryResult, and are used used in example dbstep_t1.cpp. Object-relational mapping is implemented by deriving a mapped class from DBSTEP::Record, as shown in example dbstep_t2.cpp (simple query), dbstep_t3.cpp (join) and dbstep_t4.cpp (transaction support).

This library makes heavy use of STL for memory structures, and it should be possible to port it on any architecture with a decent STL implementation. It should compile also on win32 (MSVC, Borland C++, mingw) without many problems; I've included a file (README.win32) with some information regarding project creation.

Have fun!


My name is Sebastiano Suraci, I'm a software consultant in Udine, Italy.

Feel free to contact me at sebastiano.suraciNO@SPAMadriacom.it (remove 'NO' and 'SPAM' from my email)