home *** CD-ROM | disk | FTP | other *** search
- #ifdef COMP_BCB
- // BORLAND C++ BUILDER INCLUDES
- #include <condefs.h>
- #else
- #define USELIB( arg )
- #endif
-
-
- //---------------------------------------------------------------------------
- // CUSTOM DATABASE HEADER
- #include "business.h"
- //---------------------------------------------------------------------------
- #include <stdio.h>
- //---------------------------------------------------------------------------
- // BORLAND C++ BUILDER DIRECTIVES
- USELIB("..\..\..\lib\win32\bcb\ojust.lib");
-
-
- //---------------------------------------------------------------------------
- int main(int argc, char* argv[])
- {
- char query[100];
-
- if( argc > 1 )
- sprintf( query, "Customer.code = %d", atoi( argv[1] ) );
- else
- query[0] = 0;
-
- // START TRY/CATCH BLOCK FOR EXCEPTIONS CATCHING
- try
- {
- d_Database db;
- d_Transaction tx;
-
- // OPEN DATABASE
- db.open( "database/business" );
-
- // START TRANSACTION
- tx.begin();
-
- d_Ref<Customer> objCustomer;
- d_Iterator< d_Ref<Customer> > itCustomer;
- d_Extent<Customer> customers( &db );
-
- itCustomer = customers.select( query );
-
- while( itCustomer.next( objCustomer ) )
- {
- // DISPLAY OBJECT
- cout << "\nCode......: " << objCustomer->code;
- cout << "\nName......: " << objCustomer->name;
- cout << "\nSurname...: " << objCustomer->surname;
- cout << "\nAge.......: " << objCustomer->age;
- cout << "\nNotes.....: " << objCustomer->notes;
- }
-
- // COMMIT TRANSACTION
- tx.commit();
- }
- catch( d_Error &e )
- {
- // DATABASE ERROR
- cout << "Database error: " << e.what() << endl;
- }
- catch( ... )
- {
- // APPLICATION ERROR
- cout << "Generic error" << endl;
- }
-
- return 0;
- }
-
-
-