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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать успешность выполнения транзакции? FIBPlus, TpFIBQuery 
V
    Опции темы
ksili
Дата 14.2.2008, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Использую компоненты FIBPlus в Билдере. Заметил, что запрос (insert) не всегда выполняется успешно, но при этом никакого исключения не происходит, pFibErrorHandler ничего не ловит. Иногда это связано с какими-нибудь ограничениями (pFibErrorHandler тогда срабатывает), а иногда не понятно из-за чего. Ситуация повторяется нерегулярно. Чтобы понять из-за чего запись не добавляется, мне надо точно узнавать, выполнился insert успешно или нет. Есть ли для этого механизмы?
В коде такой запрос выглядит так:
Код

 MainQuery->Transaction->StartTransaction();
 MainQuery->SQL->Text = "execute procedure ADD_CALL_TO_BUFFER";      
 MainQuery->SQL->Add("('',0,'"+id+"','0',"+IntToStr(GetOperator(num_to))+",1,'"+num_to.SubString(1,20)+"',NULL)");
 MainQuery->ExecQuery();
 MainQuery->Transaction->Commit();

Все запросы я журналирую (в событии MainQuery->BeforeExecute). В журнал попадает запись, например:
Код

execute procedure ADD_CALL_TO_BUFFER
('',0,'E','0',5,1,'83912000000',NULL)



--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Deniz
Дата 15.2.2008, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



ksili, может проблема в процедуре ADD_CALL_TO_BUFFER?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
ksili
Дата 18.2.2008, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Да, точно, проблема была в процедуре  smile 


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.