UltraLite Static C++ User's Guide
Data Access Using the C++ API
Working with the C++ API classes
Using table and query classes
The order of the rows in the object is determined when it is opened. By default, tables are ordered by primary key. The UltraLite generator adds an enumeration for the object definition, with a member for each index on the table in the reference database (the primary key is named Primary), and by specifying a member of this enumeration, you can control the ordering of the rows in the object.
If you update a row so that it no longer belongs in the current position the current row of the cursor moves to that row.
For example, consider a single-column object with the values A, B, C, and E.
If a cursor is sitting on row B (position 2) and modifies the value to D, then the row is moved to sit between C and E (becoming position 3) and the current row of the cursor changes to position 3.
If you insert a row, the current position does not move to that row.