Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > FireBird: все TIBQuery неактивны после Insert


Автор: dihlofose 19.9.2006, 13:49
День добрый.
Проблема может не сложная, но всё же.

Кинул на DataModule IBDataBase, Transaction и несколько IBQuery, всё связал.
На форме обычный DBGrid, который отражает тот или иной IBQuery. Так вот проблема в том, что после новой записи в таблицу (Insert) каким-либо IbQuery, все IBQuery становятся неактивными (все Grid`ы ничего не показывают), т.е. я вынужден их снова активировать (IBQuery.Active := true). Как этого избежать? Может есть какой нить Refresh и т.п.?

Автор: londinium 19.9.2006, 14:45
Транзакция подтверждена по Commit/Rollback и нет больше активной транзакции, поэтому TIBQuery и неактивны. Можешь рассадить TIBQuery по разным транзакциям и посмотреть, что выйдет.  

Автор: Golden Hands 20.9.2006, 21:15
Если проблема в транзакции, то читаем мануал по этому компоненту и по IBX в общем. В данном случае CommitRetaining вместо Commit.

Автор: Akella 22.9.2006, 14:41
нужно делать
commit, а затем заново открывать набор данных

Добавлено @ 14:43 
рекомендую купить http://www.devrace.com

сам купил и вам рекомендую,
работает в три раза быстрее, чем IBX,
и там используются 2 транзакции, одна читающая, другая пишущая - соответсвенно твоя проблема исчезнет сама собой
мало того, там шикарная техподдержка

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)