The dbixx library is a C++ wrapper for [LibDBI](http://libdbi.sourceforge.net/) C library. It gives C++ friendly, exception safe interface for this library. |
The dbixx library is a C++ wrapper for [LibDBI](http://libdbi.sourceforge.net/) C library. It gives a C++ friendly, exception safe interface for this library. |
|
It is written by [Artyom Beilis (Tonkikh)](http://art-blog.no-ip.info/cppcms/blog) and licensed under LGPL v2.1. |
|
|
## General |
|
- [Quick Start Guide](/wikipp/en/page/tut_into_dbixx) |
- [Installing DbiXX](/wikipp/en/page/install_dbixx) |
|
## Classes |
|
### Main Classes |
|
- [dbixx::session](/wikipp/en/page/ref_dbixx_session) -- the major session object. It holds connection to the library. |
- [dbixx::row](/wikipp/en/page/ref_dbixx_row) -- stores single row of output. |
- [dbixx::session](/wikipp/en/page/ref_dbixx_session) -- the major session object. It holds the connection to the library. |
- [dbixx::row](/wikipp/en/page/ref_dbixx_row) -- stores a single row of output. |
- [dbixx::result](/wikipp/en/page/ref_dbixx_result) -- stores the output row set of queries. |
- [dbixx::dbixx\_error](/wikipp/en/page/ref_dbixx_error) is thrown in case of different errors. |
- [dbixx::transaction](/wikipp/en/page/ref_dbixx_trans) is the class that allows execution of exception safe transactions. |
|
### Other Classes and Functions |
|
- `dbixx::exec` and `dbixx::null` used for "syntactic sugar" operations. |
- `dbixx::use()` is auxiliary function for easy inserting NULL values. |
- `dbixx::use()` is an auxiliary function to insert NULL values easily. |
|
## Other libraries |
|
DbiXX was build as useful wrapper for libdbi, however it is not the only library that may provide similar functionality. |
|
It is not connected directly for CppCMS functionality, but it was build to be useful for web development. |
DbiXX was build as a useful wrapper for libdbi. However it is not the only library that provides similar functionality. |
|
There are another libraries like [SOCI](http://soci.sourceforge.net/) that provide similar functionality. For the record, dbixx had took many ideas from SOCI. |
It is not directly connected to CppCMS, but it was build to be useful for web development. |
|
If you plan to use any library different from DbiXX I recommend you to take in account following points: |
There are other libraries like [SOCI](http://soci.sourceforge.net/) that provide similar functionality. For the record, dbixx has taken many ideas from SOCI. |
|
1. Does it provide auto-escaping? This is most important feature. It should be straightforward operation. Otherwise, you may be victim of SQL Injections. |
2. Is it exception safe and provides exception safe transactions? |
3. Does it support more then single database? Is this support good enough? |
If you plan to use a library different from DbiXX, I recommend that you take the following into account: |
|
In my opinion, there are very important points that should be taken in consideration. |
1. Does it provide auto-escaping? This is the most important feature. It should be a straightforward operation. Otherwise, you may be victim of SQL Injections. |
2. Is it exception safe and does it provides exception safe transactions? |
3. Does it support more than one database engine? Is this support good enough? |
|
The first two are mandatory for web development with CppCMS, the third one would prevent from you vendor lock-in. |
These are very important points that should be taken in consideration. The first two are mandatory for web development with CppCMS, the third one would prevent from you vendor lock-in. |
|
|