Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
11-91698
IZVER
2002-11-18 08:42
2003.07.28
Сокеты, прокси....


3-91687
AndrewVolkov
2003-07-06 16:56
2003.07.28
UDF CString(10)?


6-91801
Шишкин Илья
2003-05-14 20:55
2003.07.28
Как получить список соединений?


14-91847
vidiv
2003-07-11 07:43
2003.07.28
Как убить процесс через некоторе время.....


14-91859
petr_v_a
2003-07-11 12:33
2003.07.28
«Общество аплодирует» наезду на Ходорковского




   Наверх