Zeoslib-nie rozpoznaje poleceń obsługi transakcji

0

Witam,
przerzuciłem się na Zeoslib, dużo osób mi go doradzało no i działa, bo DbExpress jakoś niespecjalnie chciał ruszyć.
I teraz próbuję zrobić transakcje w tym Zeosie, ale jakoś niespecjalnie mi to idzie.
Robię

ZQuery.SQL.Add('START TRANSACTION; ... COMMIT;');
ZQuery.ExecSQL;

i mam:

SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM category WHERE (id=26) AND ((SELECT COUNT(1) as count FROM `st' at line 1.

ale jak identyczny kod wkleję w PHPMyAdmin to wsio się wykona prawidłowo.

START TRANSACTION;# MySQL zwrócił pusty wynik (zero rekordów).
DELETE FROM `store` WHERE (`symbol` LIKE 'ATTINY%');# Zmodyfikowanych rekordów: 3.
ROLLBACK;# MySQL zwrócił pusty wynik (zero rekordów).
COMMIT;# MySQL zwrócił pusty wynik (zero rekordów).

I dzięki rollback mam z powrotem 3 rekordy. Jak należałoby to zrobić w Zeoslib? On zdaje się nie rozumie START TRANSACTION, ROLLBACKi COMMIT (błąd j.w.), za to ZConnection ma swoje procedury .StartTransaction .Rollback .Commit, których z kolei nie rozumiem ja :(

PS: Tabele są InnoDB

pozdrawiam
Paweł Lis

0

może StartTransaction i Commit jako metody TZConnection stosuje się zamiast poleceń mysql'a?
ja dopiero zaczynam z transakcjami i też mi to nie wychodzi :/

0

Ustaw właściwość TransactIsolationLevel TZConnection na tiReadCommited.
Potem posługuj się TZConnection.StartTransaction (Rollback,Commit)

1 użytkowników online, w tym zalogowanych: 0, gości: 1