Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кэшированные изменения в 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?

Лучше застрелиться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо