Hi there!
I use MySql (v. 5.5.25) via Zeos DB components. Can not rollback operation by command ZQuery1.Connection.Rollback

In detail:
There is a form for editing a row from a table and there is a grid on the form with rows from a child table with buttons for add|edit|delete this child rows.
A TZConnection component's property AutoCommit = False and TransactionIsolationLevel = tiReadCommitted
I start a transaction before the form opening.
And I commit the transaction on clicking <Ok> button and roll it back on <Cancel> button.
frmFizGrid.ZQuery.Connection.StartTransaction;
if ShowModal = mrOk then
frmFizGrid.ZQuery.Connection.Commit
else begin
frmFizGrid.ZQuery.Connection.Rollback;
ShowMessage('Calling "Rollback"');
end;
I insert a row into the child table after the form is showing and transaction is started :
...
ZQuery1.SQL.Add('insert into tbl (...) values (...)');
ZQuery1.ExecSql;
...
Then I press <Cancel> button and I see a message 'Calling "Rollback"'.
But the new row in the child table doesn't disappear!
Could you please tell me what I'm doing wrong?
p.s. I've tried this with table types MyISAM and InnoDB