Hi thereUsing Zeos 6.6.6-stable with Delphi6 on Postgres 8.3I'm having difficulty implementing transactions in my application in the way that I feel will be most practical.My app is running lengthy DB processes which I'd like to put in transactions; I've implemented it like this:

My requirement is this when an exception occurs: 1 ) the exception (normally EZSQLException) should be raised2 ) all DB changes made in this transaction should be rolled back3) the DB session should be able to continue processing transactions

My problem is that no matter how I try to tweak the code above, when a EZSQLException occurs, the system excepts with the standard:"SQL Error: ERROR: current transaction is aborted, commands ignored until end of transaction block."and the connection to the DB should be restarted.

I've read some articles about AutoCommit, but cannot quite understand what effect it will have on my code.
As far as I understand, setting this to TRUE will mean that each statement is committed automatically, which negates my goal of running statements in transactions... possibly I'm not understanding it correctly.

Anyway, I'll try your suggestion re IsolationLevel.
Is it possible for you to give a brief explanation of what I'll be doing by setting this?