Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.28;
Скачать: CL | DM;

Вниз

Отмена операции удаления из таблицы   Найти похожие ветки 

 
Zergling ©   (2003-07-04 08:14) [0]

Здраствуйте еще раз! Такая вот пролемка. В событии таблицы OnBeforeDelete такой код.
if MessageDlg("После удаления этой записи ... Выполнить
данную операцию?", mtWarning, [mbYes, mbNo], 0) = mrNo then
begin
Shipment.Cancel;
EXIT;
end;
На отвтет "No" запись все равно удаляется. Как мне отменить удаление записи если пользователь передумал удалять запись из таблицы? Работаю через ADO. Заранее благодарствую за помощь.


 
ЮЮ ©   (2003-07-04 08:20) [1]

Shipment.Cancel только отменяет изменения в Shipment и никак не влиет на операцию удаление. Нормальное завершение OnBeforeDelete тоже никак не припятсвует последующему удалению. Очевидно, надо вызвать исключение в этом обработчике, дабы код непосредственного удаления записи в методе Delete не сработал


 
Zergling ©   (2003-07-04 09:01) [2]

ЮЮ © (04.07.03 08:20)
> Очевидно, надо вызвать исключение в этом обработчике,
Нееее так не поедет. Например: Выполнить данную операцию? -> No после этого еще и второе окно получить с сообщением об исключительной ситуации. На до шоб для пользователя все культурно было.
> Нормальное завершение OnBeforeDelete тоже никак не припятсвует > > последующему удалению
OnBeforeDelete по хелпу вызывается перед удалением записи => уменя осталось мнение что прервать операцию удаления можно более культурным методом. Только вот как? Вот в чем вопрос :-).


 
ЮЮ ©   (2003-07-04 09:10) [3]

В Help-е все сказано:

Occurs before an application attempts to delete the active record.

property BeforeDelete: TDataSetNotifyEvent;

TDataSet.BeforeDelete
Description

Write a BeforeDelete event handler to take specific action before an application deletes the active record. BeforeDelete is called by Delete before it actually deletes a record.

Making use of this event an application might, for example, display a dialog box asking for confirmation before deleting the record. On denial of confirmation, the application could abort the deletion by calling the Abort procedure.


 
Zergling ©   (2003-07-04 09:42) [4]

Ну вот и разобрались :-). Спасибо.


 
Alex_***   (2003-07-04 20:29) [5]

Есть такая шайтан-процедура Abort



Страницы: 1 вся ветка

Текущий архив: 2003.07.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-91750
DimaK
2003-07-15 08:47
2003.07.28
Проблема с выключением


4-91946
greenrul
2003-05-25 15:28
2003.07.28
Перехват нажатия клавиши


4-91943
Jack-of-shadow
2003-05-24 14:06
2003.07.28
CS_KEYCVTWINDOW - Что это за константа?


14-91877
K.o.Z
2003-07-10 00:31
2003.07.28
Двоичная система счисления ...


1-91761
Павел
2003-07-15 18:12
2003.07.28
PageControl