Hello again
with new version of Interbase objects suite
slightly changes the work with it. Main change
is TIBTransaction object, which overtake transaction
handling from TIBDatabase. TIBDataset no longer exists,
instead of it is TIBQuery now. Work with it is (I think)
shown in testib.pp program.
TIBTransaction has several methods for committing and
rollback of changes made to database.
Commit, Rollback : classic action taken, both methods
ENDS transaction.
CommitRetaining, RollbackRetaining : these methods
both do as same as Commit or Rollback, but environment
of transaction remains, so you don't need start new
transaction. This can be of use for frequent changes
to database, because it's faster than classic
Commit|Rollback & StartTransaction.
In short:
* Create TIBDatabase
* Create TIBTransaction
* Assign transaction to database
* Create TIBQuery
* Execute query
* Commit or rollback transaction, in short, end transaction
* Close TIBDatabase
Compiling:
Simply type 'make' for building interbase unit, if you wanna
test program type 'make examples'. For successfull compiling
you must have Interbase server installed, or you must have
libgds.so.* in ldpath. If linker shows errors like:
/usr/lib/libgds.so: undefined reference to `dlclose'
/usr/lib/libgds.so: undefined reference to `dlopen'
/usr/lib/libgds.so: undefined reference to `crypt'
/usr/lib/libgds.so: undefined reference to `dlsym'
testib.pp(92,1) Warning: Error while linking
you must to program source add compiler directives
{$linklib dl}
{$linklib crypt}
and all should be OK. For running testib you must have
testing database created. To create it, edit mkdb script,
set variable ISQL to full path to isql program (it is
set to /opt/interbase/bin/isql by default, which will work
on most systems) and run by typing 'sh mkdb'.
This units was built and tested on Linux, and I don't
know, if you can build it on Win32 or Dos platform.
Anyway, if you want to use it under windoze, you can
port it ;)
Volunteers, testers, suggestions etc. are always welcome,
mailto address below
Pavel Stingl
[email protected]