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

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

Вопрос к мастерам, возможно востановление флага UpdatesPending?


Erik1 ©   (2005-01-07 15:23:00) 

Используется ORACLE + DBE + CachedUpdate + наследник от TStoredProc. Есть логическая проблема, происходит сохранение мастер-детаил таблиц в общей транзакции. Таблица мастер сохраняется нормально, на таблице детаил при cохранении внутри сторед процедуры возникает exception, отрабатывает Rollback. При попытке повторного сохранения свойство UpdatesPending для таблицы мастер уже False. И ApplayUpdate невызывается, а на Oracle данных то уже нет! Возник вопрос, что делать? Подумал и решил возпользоватся готовым механизмом BDE. Вроде до вызова CommitUpdates данные отсаются в буфере кеша, как можно повторно вызвать ApplyUpdates. А точнее установить флаг UpdatesPending?
 Коректно ли вызвать DbiSetProp(HDBIObj(Handle), PropName, Abs(Integer(Value)))? Или есть еще предложения?


Erik1   (2005-01-07 17:06:00) [1]

Проблема решена, надо сделать холостой Update;
DataSet.Edit;
DataSet.Post;
Разумеется невызывая CommitUpdates.


Erik1   (2005-01-07 16:35:00) [2]

Ну нужели опять некто непоможет? Деляю так:
DbiSetProp(HDBIObj(Handle), curDELAYUPDNUMUPDATES, LongInt(True)) непомогает!


Наверх

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