Online Eiffel Documentation |
Documentation Home > Class Libraries > EiffelStore > EiffelStore Content > EiffelStore Interface Layer |
EiffelStudio |
Database control |
Use the DB_CONTROL class to check or change database status and behavior. The main operations you are likely to use are:
Every EiffelStore interface class has an is_ok feature. This enables to check directly if the last database operation has been successful.
When an error is detected, you can access through DB_CONTROL further information about the error:
Once you have handled your error, for instance by displaying the error_message on screen, you can call reset to perform new database transactions.
DB_CONTROL lets you connect, check connection and disconnect from the database.
The following example sum up these capabilities:
session_control: DB_CONTROL ... session_control.connect if session_control.is_connected then -- Perform your transactions here. session_control.disconnect end
Every modification you do in the database are usually not directly saved. This enables to limit damage caused by mishandlings. You can then manage database modification through 2 commands:
The following example illustrates the use of these commands:
session_control: DB_CONTROL ... from until transaction_completed or else not session_control.is_ok loop -- Perform your transaction here. end if session_control.is_ok then session_control.commit else session_control.rollback end
The loop performs a multi-step transaction. If transaction is not carried out entirely, the database could stay in an invalid state: this code ensures that database remains in a valid state.
Caution: Some databases can be in an auto-commit mode. Furthermore, some special database commands can automatically commit database changes.
Copyright 1993-2006 Eiffel Software. All rights reserved. |