Главная страница
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.012 c
14-91831
five
2003-07-10 16:34
2003.07.28
работа в Москве (Delphi, PHP, Interbase)


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


3-91634
Bless
2003-07-02 12:49
2003.07.28
Набор данных как результат хранимой процедуры


8-91777
БРУТЪ
2003-04-03 14:57
2003.07.28
Преобразование


14-91898
MatrixX
2003-07-11 20:08
2003.07.28
Зависание Win2k при установке.