UltraLite C++ User's Guide
Introduction to UltraLite for C++
UltraLite for C++ provides the following benefits for developers targeting small devices:
a robust relational database store.
deployment on the Windows CE and Palm OS platforms,
the power, efficiency, and flexibility of C++.
For more information, see Introduction.
C++ developers wishing to take advantage of UltraLite database features have several options. UltraLite for C++ (documented in the current book) provides a UltraLite for C++ component interface. Embedded SQL and the static C++ API provide static programming interfaces.
The benefits and disadvantages of the C++ component interface are as follows:
Dynamic SQL If you are using one of the static interfaces (embedded SQL or the static C++ API) all SQL statements must be specified at compile time. In contrast, UltraLite for C++ provides access to dynamic SQL, permitting SQL statements to be defined at runtime. This broadens the scope of the applications you can build.
Development model While the embedded SQL and static C++ API interfaces both require a preprocessing step before compiling your application. They also require that you construct an Adaptive Server Anywhere reference database. In contrast, UltraLite for C++ provides a more common development model with no preprocessing step required.
Efficiency For databases with few tables, applications built with the static interfaces provide a smaller footprint than those build using the component interfaces. For databases with more complex schemas, this advantage of the static interfaces is lost.
Multi-process support The UltraLite for C++ component API provides a version of the UltraLite runtime engine that supports connections from multiple applications.
Advanced developers can combine features of the component API with those of the static C++ API and even embedded SQL. Such combined development models are not discussed here.