On Sun, 30 Apr 2006, Joost van der Sluis wrote:

> I have a problem that I do not understand.
>
> the following doesn't work with firebird:
>
>   Fconnection.ExecuteDirect('create table FPDEV (id INT)');
>   Fconnection.ExecuteDirect('insert into FPDEV(id) values (1)');
>
> But the following does:
>
>   Fconnection.ExecuteDirect('create table FPDEV (id INT)');
>   FConnection.Transaction.commitretaining;
>   Fconnection.ExecuteDirect('insert into FPDEV(id) values (1)');
>
> But both statements are executed within the same transaction?

No they are not. CommitRetaining is like
Commit;
Starttransaction;
only keeps the resources of the current transaction.

In all the years I worked with interbase/firebird,
I've learned to explicitly commit after each DDL statement.

Michael.


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to