![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кэшированные изменения в Interbase Express [D6, IB6.x]
Sirruf © (2004-04-26 16:45:00)Шо-то я не догоняю, как работать с сабжем. Где метод CommitUpdates у IBQuery?
При работе с BDE я делал примерно следующее:
MyDB.StartTransaction;
try
MyQuery.ApplyUpdates;
MyDB.Commit;
MyQuery.CommitUpdates;
except
MyDB.Rollback;
MyQuery.CancelUpdates;
end;
Что нужно сделать, чтобы осуществить аналогичный подход в IBX?
Sirruf (2004-04-26 18:29:00) [1]Курдль, это я когда-то в книге вычитал, а когда делал проект под BDE, все сработало нормально. Решил сделать по с IBX по образу и подобию, вот и напоролся. В любом случае спасибо за подсказку
Johnmen (2004-04-26 18:17:00) [2]>Sirruf ©
Дело в том, что механизм работы с кешем для IBX несколько иной, нежели для BDE. См. OnUpdateError и далее по ссылкам.
А ещё лучше - использовать для целей редактирования TIBDataSet.
Vlad (2004-04-26 18:10:00) [3]
> Курдль © (26.04.04 18:06) [3]
> Если бы Вы написали MyDB.ApplyUpdates([MyQuery]);,
А если б он еще и справку читал....
Курдль (2004-04-26 18:06:00) [4]Ок!
То, что Вы написали в примере - сами придумали?
Если бы Вы написали MyDB.ApplyUpdates([MyQuery]);, то это решило бы все Ваши проблемы - открыло транзакцию, фиксировало обновления, а в случае ошибки - откатило бы все назад автоматически.
Sirruf (2004-04-26 18:01:00) [5]Обожаю таких вот умников.
Курдль (2004-04-26 17:07:00) [6]
> Что нужно сделать, чтобы осуществить аналогичный подход
> в IBX?
Лучше застрелиться.