Anry |
Отправлено: 14.10.2003, 10:57 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 56
|
Имеем таблицу данных документа. Добавляем запись, а потом удаляем ее. После этого делаем коммит транзакции на обновление. При этом добавленная запись не удаляется. Если вместо удаления сделать изменение только что добавленной записи, то они также теряются (изменения) после Commit'а. В чем фишка???
Та же самая хня была и с IBX.
|
|
Anry |
Отправлено: 14.10.2003, 12:13 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 56
|
Разобрался. Оказывается при добавлении или редактировании записи в FIBDataSet, транзакция на обновление стартует и сразу подтверждается. Что самое интересное, при удалении записи состояное транзакции не изменяется.
Автостарт UpdateTransaction удалось отключить, а как то же самое сделать с Commit (свойство AutoCommit отключено, но не помогает).
|
|
Anry |
Отправлено: 14.10.2003, 13:27 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 56
|
Разобрался. Это я тормоз. Все теперь работает. Спасибо Anry за исчерпывающие ответы.
Отредактировано Anry — 14/10/2003, 14:30
|
|
** pasha |
Отправлено: 14.10.2003, 13:29 |
|
Не зарегистрирован
|
QUOTE |
Оказывается при добавлении или редактировании записи в FIBDataSet, транзакция на обновление стартует и сразу подтверждается |
Вы сами можете этим управлять.
Если ставите у pFIBDataSet1 у свойства Options poSrartTransaction в
true, то транзакция стартует сама, если в false, то стартуете вы
pFIBTransaction1->StartTransaction();
если у pFIBDataSet1 стоит свойство AutoCommit = true; то транзакция
подтверждается автоматически, если AutoCommit = false;
то подтверждаете вы сами: pFIBTransaction1->CommitRetaining();
или pFIBTransaction1->Commit(); (без переоткрытия)
|
|