Форум: "Базы";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
ВнизКак в IBDataSet сделать Commit? Найти похожие ветки
← →
Ламер (2003-02-05 09:36) [0]Здраствуйте, мастера! Нужна Ваша консультация.
Использую связку IBDatabase->IBTransaction->IBDataSet-DataSet->DBGrid все работатет - я редактирую данные в гриде. Но вот сохраняет данные в базу(на диск) только после закрытия программы.
Как сделать Commit? Что-то не догоню...
← →
Delirium^.Tremens (2003-02-05 09:38) [1]В общих чертах:
IBTransaction.StartTransaction;
{... Делаем свои гнусные дела...}
IBTransaction.Commit;
← →
Ламер (2003-02-05 09:49) [2]
> Delirium^.Tremens © (05.02.03 09:38)
> В общих чертах:
>
> IBTransaction.StartTransaction;
> {... Делаем свои гнусные дела...}
Я написал , что редактирование в гриде. Я делал IBTransaction.StartTransaction в событии BeforeInsert(IBDataSet), но мне говорится, что транзакция активна.
← →
Max Zyuzin (2003-02-05 09:55) [3]Это было в 2-х словах. Вообще транзакция стартуется по умолчанию как только ты открываешь датасет. По этому тебе надо делать просто Commit
Да и не рекомендуется стартовать транзакцию и подтверждать ее после каждой вставки... хотя все конечно зависит от задачи.
← →
Delirium^.Tremens (2003-02-05 09:55) [4]Значит перед стартом проверить ее на активность и, если активна, не стартовать. После Post или ApplyUpdates делать Commit.
← →
Ламер (2003-02-05 10:01) [5]2 Max Zyuzin ©
>>и подтверждать ее после каждой вставки
Только не понятно, на случай выключения света и глюков, что с данными будет? Мне не понятно когда данные могут не нести ценности? Таких не должно просто быть...
← →
Ламер (2003-02-05 10:04) [6]
>
> Delirium^.Tremens © (05.02.03 09:55)
> Значит перед стартом проверить ее на активность и, если
> активна, не стартовать. После Post
Делаю Commit.
Ошибка - Cannot perform this operation on close dataset...
Эта поперация не может быть выполнена для закрытого DataSet. Что же ё маё делать....
← →
Max Zyuzin (2003-02-05 10:11) [7]>Ламер (05.02.03 10:01)
Транзакции задуманы были, что бы сохранять целостность данных, если ты к примеру забиваешь запись в главную таблицу и сразу же связанные с этой записи в N починенных, тебе надо что бы все это безобразие добавилось сразу... вот тут и нужны транзакции...
А вообще Commit -ы загружают сервер, их нужно делать с умом :)
← →
Ламер (2003-02-05 10:16) [8]С транзакциями я в курсе. Знаю про эффект потери 100 фунтов :)
Но ято скажет юзер, когда он набет данные, сохранил(кеш), на сервак пока нет(Commit), и тут мин через 10 бац - свет выключили... Потом включают, а данные тютю - нету. А скажет, а я же делал... Виноват программист.
Но что же мне делать с смоей траблой????
← →
Max Zyuzin (2003-02-05 10:22) [9]>Ламер (05.02.03 10:16)
Ну тогда делай после каждой вставки CommitRetaining
Или можно по другому сделать... на формочку бросить кнопочки... "сохранить изменения", "не сохранять изменения", ну и там уж рулить Commit или RollBack
← →
Ламер (2003-02-05 10:24) [10]А как с гридом, что нельзя без кнопочек? Как мне сделать Commit? Мастера, не ужто никто с этим не сталкивался???
← →
Ламер(Ау, Мастера) (2003-02-05 10:53) [11]Ну кто-нибудь может помочь?
← →
Max Zyuzin (2003-02-05 10:55) [12]На событие у датасета AfterInser (вроде так называется) вешай CommitRetaining
← →
Ламер (2003-02-05 10:59) [13]2 Max Zyuzin ©
Спасибо, все работает...Вот что значит не зазнавшийся мастер.
← →
Max Zyuzin (2003-02-05 11:10) [14]>Ламер (05.02.03 10:59)
Только тут нужно еще тоже самое вешать на редактирование... а то если у тебя пользователи че нить поправят... а потом свет :) будет не хорошо :)))
ИМХО все же лучше с кнопочками, и тебе проще и юзверям нагляднее, вот я нажал на сохранить и усе сохранилось, не нажал и амба :) (почти как в Word-е - там же доки не сохраняются после набора каждого сивола)
← →
Johnmen (2003-02-05 11:11) [15]>Max Zyuzin © (05.02.03 10:55)
>На событие у датасета AfterInser (вроде так называется) вешай
>CommitRetaining
Смею заметить, что лучше бы AfterPost...
← →
Max Zyuzin (2003-02-05 11:15) [16]>Johnmen © (05.02.03 11:11)
:о) ИМХО все равно лучше с кнопочками... :)
← →
Johnmen (2003-02-05 11:23) [17]>Max Zyuzin © (05.02.03 11:15)
>ИМХО все равно лучше с кнопочками...
Спору нет....:) Хотя все зависит от конкретной ситуации...
← →
Тип (2003-02-05 11:32) [18]
>
> Max Zyuzin © (05.02.03 11:10)
> >Ламер (05.02.03 10:59)
> Только тут нужно еще тоже самое вешать на редактирование...
> а то если у тебя пользователи че нить поправят... а потом
> свет :) будет не хорошо :)))
Уже повесил на удаление, и редактирование
> ИМХО все же лучше с кнопочками, и тебе проще и юзверям нагляднее,
да, но мне попроще надо, с кнопками я подумаю...
> вот я нажал на сохранить и усе сохранилось, не нажал и амба
> :) (почти как в Word-е - там же доки не сохраняются после
> набора каждого сивола)
Word - это Microsoft, для юзверят это как Бог, а я еще Ламер так что мои проги должні біть понадежнее...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c