Zeos + MySql -> транзакция не откатывается :(

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Zeos + MySql -> транзакция не откатывается :(

Сообщение Talker1 » 22.01.2014 11:49:18

Привет!

Работаю с БД MySql (v. 5.5.25) через компоненты Zeos. Не получается откатить операцию командой ZQuery1.Connection.Rollback

Подробнее:
Есть форма редактировния записи из таблицы, на ней грид со строками из дочерней тблицы и тут же кнопки добавления/редактирования/удаления этих подерних строк.
У компоненты ZConnection1 свойство AutoCommit = True, а TransactionIsolationLevel = tiReadCommitted

Перед открытием формы (ShowModal) я открываю транзакцию
При закрытии формы если она закрыта по кнопке ОК то выполняю Commit, иначе - Rollback

Код: Выделить всё
  frmFizGrid.ZQuery.Connection.StartTransaction;
  if ShowModal = mrOk then
    frmFizGrid.ZQuery.Connection.Commit
  else begin
    frmFizGrid.ZQuery.Connection.Rollback;
    ShowMessage('Выполнился Rollback');
  end;

После открытия формы и, соответственно, начала транзакции, добавляю строку в дочернюю таблицу (в ZQuery пишу 'insert into tbl (...) values (...)' и далее делаю ExecSql)
Далее нажимаю на Cancel, на экран, как и ожиджается выскакивает сообщение 'Выполнился Rollback', НО запись в дочерней таблице так и остается, хотя, по идее, операция должна была откатиться и записи в дочерней таблице быть не должно...

Подскажите, что я тут делаю не так?
Последний раз редактировалось Talker1 23.01.2014 09:03:29, всего редактировалось 1 раз.
Аватара пользователя
Talker1
новенький
 
Сообщения: 54
Зарегистрирован: 16.07.2013 18:45:45

Re: Zeos + MySql -> транзакция не откатывается :(

Сообщение volodya25 » 22.01.2014 12:49:49

Тип таблицы случайно не MyISAM?
volodya25
новенький
 
Сообщения: 10
Зарегистрирован: 03.11.2011 22:33:23
Откуда: Украина

Re: Zeos + MySql -> транзакция не откатывается :(

Сообщение Talker1 » 22.01.2014 14:12:59

Да, MyISAM. Не поддерживаются транзакции?

Добавлено спустя 23 минуты 26 секунд:
Переконвертировл в InnoDB - ничего не изменилось..
Аватара пользователя
Talker1
новенький
 
Сообщения: 54
Зарегистрирован: 16.07.2013 18:45:45

Re: Zeos + MySql -> транзакция не откатывается :(

Сообщение Talker1 » 23.01.2014 16:33:36

volodya25 писал(а):Тип таблицы случайно не MyISAM?

Чорт. Не ту таблицу как оказалось переконвертировал (база тестовая, много всякого хлама там).
Переконвертировал нужные таблицы, сразу все заработало :D
Спасибо за подсказку!
Аватара пользователя
Talker1
новенький
 
Сообщения: 54
Зарегистрирован: 16.07.2013 18:45:45


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 224

Рейтинг@Mail.ru