[turbo delphi, mysql] pytanie o transakcje

0

Witam
Teoretycznie wiem jak zastosować transakcje, chodzi mi bardziej o praktykę. Mam program napisany w turbo delphi explorer, łączę się z bazą danych mysql przez dbx. Mam już operację wstawiania, usuwania, edytowania itd. Nie mam tylko transakcji. Tak jak pisałem na początku teoretycznie wiem że ma być coś w stylu:

start transaction;

zapytanie 1;
zapytanie 2;

commit;

Problem w tym, że nie wiem jak mam to zapisać w programie. Do łączenia z bazą danych wykrzystuję komponenty SQLConnection i SQLQuery. Czy w którymś z tych komponentów jest opcja np. SQL.Query.cos_tam.StartTransaction; ?? Następnie wydałbym kilka zapytań do bazy przez SQLQuery.SQL.Text := 'zapytanie 1'; ExecSQL;
SQLQuery.SQL.Text := 'zapytanie 2'; ExecSQL;

i ostatecznie SQLQuery.cos_tam.Commit; - tylko nie wiem czy tak się da.

Drugim moim pomysłem jest takie zapisanie w programie:

SQLQuery.SQL.Text := 'Start transaction'; ExecSQL;

SQLQuery.SQL.Text := 'zapytanie 1'; ExecSQL;
SQLQuery.SQL.Text := 'zapytanie 2'; ExecSQL;

SQLQuery.SQL.Text := 'Commit'; ExecSQL;

Tylko też nie wiem czy to będzie dobrze. Jak prawidłowo powinienem używać transakcji w mysql z wykorzystaniem dbx? Czy transkacje używać tylko do update, insert, delete? Czy do select też?

Mam jeszcze jedno pytanie. Czytałem, że jeśli w mysql chcę używać transakcji to muszę najpierw wydać polecenie SET AUTOCOMMIT = 0; Problem w tym, że nie wiem kiedy mam wpisywać to polecenie. Czy wystarczy raz, kiedy uruchomię serwer MySQL i ta opcja będzie zapamiętana na stałe - nawet jeśli uruchomię ponownie komuter? Czy może muszę za każdym razem kiedy uruchomię serwer wpisywać SET AUTOCOMMIT = 0; To drugie rozwiązanie może być uciążliwe. A może w programach klienckich za każdym razem kiedy łączą się z mysqlem wpiswyać SQLQuery.SQL.Text := 'SET AUTOCOMMIT = 0;' - tylko czy to nie będzie źle jeśli kilku klientów połączy się z bazą i każdy będzie chciał ustawić tą opcję?

Wiem, że dużo mam pytań, ale bardzo tego potrzebuję. Proszę o pomoc.

0

Szkoda, że nikt nie odpowiedział. To może chociaż ktoś wie gdzie można znaleźć jakiś artykuł o transakcjach w dbx?

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