Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

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

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

Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

Сообщение tria » 22.06.2022 12:25:05

Код упрощенно:
Код: Выделить всё
 
    q:TSQLQuery;
    trn: TSQLTransaction;

  trn.StartTransaction;
  q.Prepare;
  If not q.Prepared then begin
    q.Prepare;
  end;
  q.Params[0].AsDateTime:=Now;
  q.Params[1].AsInteger:=111;
  q.ExecSQL;

  trn.Commit;


Если этот код выполнить 2 раза (без уничтожения /создания q и trn), то выдаст ошибку:

Добавлено спустя 2 минуты 20 секунд:
Несоответсвие fbclient.dll с версией сервера исключено. Минипроект не работает на 2-х компах.
Придется откатываться назад на старую версию...

Добавлено спустя 8 минут 27 секунд:
Забыл добавить:
Вин 7 х64, проект х32.

Если нужно для багтрекера - могу скинуть весь проект с БД, но там БД 10 мб.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

Сообщение Tango » 22.06.2022 15:05:42

Надо спрашивать транзакцию, а стартована она? Тогда то что там написано будет многозаходно.
Аватара пользователя
Tango
постоялец
 
Сообщения: 156
Зарегистрирован: 31.05.2012 17:07:30

Re: Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

Сообщение Vadim » 22.06.2022 15:38:06

tria
Вроде же всё ясно написано:
Ожидается явный запуск транзакции

зачем Вам багтрекер?
Лучше сами проверьте, запускается у Вас второй раз транзакция или нет.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

Сообщение tria » 22.06.2022 15:47:56

После trn.StartTransaction;
транзакция активна и в первый, и во второй раз
т.е. trn.Active дает true

Добавлено спустя 11 минут 13 секунд:
Тот же запрос, но без параметров, при повторном запуске проходит без ошибок.
Попробовал без явного старта транзакции - q.ExecSQL ее стартует сам. Раньше ж вроде небыло такого...
И текст ошибки при нестартонувшей транзакции был другой. Все-таки неправильный хендл транзации и транзакция неактивна - разные вещи!

Добавлено спустя 15 минут 51 секунду:
Тот же код в 2.0.6 работает без проблем (обновлялся с этой версии)
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Обновил Лазарь до 2.2.2 - еще косяк с TSQLQuery

Сообщение tria » 25.06.2022 17:46:42

В 2.0.12 этой ошибки все еще нет. Вероятно, в связи с обновлением FPC
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru