![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BEFORE insert [D7, IB6.x]
_Narayan_ © (2003-05-11 10:04:00)как в триггере типа "BEFORE insert" отменить этот самый insert
(т.е. запретить вставку) ?
_Narayan_ (2003-05-12 21:56:00) [1]Всем спасибо.
Medvedke тоже, хотя я DataSource в глаза не видел =) .
Medvedka (2003-05-12 16:02:00) [2]Лучше всего не пользоваться режимом AutoEdit=True в DataSource - дальше дело техники. Если разрешено, то делаешь Insert, или любую другую операцию, и что либо другое в противном случае. Никаких исключений и ни каких Абортов!!! Так просто реализуется организация доступа к любым операциям в программе...
Anatoly Podgoretsky (2003-05-12 09:03:00) [3]Отказ от записи логически это и есть исключение
VAleksey (2003-05-12 08:54:00) [4]Эксепшн - это вполне нормальный способ.
Proton (2003-05-12 07:15:00) [5]Из хелпа
procedure TForm1.ClientDataSet1BeforePost(DataSet: TDataSet);
begin
if DBEdit1.Text = "" then
Abort;
end;
_Narayan_ (2003-05-11 17:22:00) [6]а всётаки, что за способ ?
Alexandr (2003-05-11 13:38:00) [7]как это отменить? Зачем? Куда?
Вообщем, по-другому никак.
Ну вообще-то есть один способ... Но лучше так не делать.
_Narayan_ (2003-05-11 13:30:00) [8]о том что лучше If (условие) Then DO_NOTHING
чем If (условие) Then EXCEPTION ...
Вообще меня интересует можно ли в триггере отменить действие по которому он вызывается, и как это сделать.
(ни то что бы EXCEPTION мне не нравится, просто хотелось бы знать и другие варианты)
Alexandr (2003-05-11 12:56:00) [9]о чем ты?
_Narayan_ (2003-05-11 12:43:00) [10]ИМХО лучше мягко отменить, чем жёстко прервать
Alexandr (2003-05-11 11:11:00) [11]а что ты подразумеваешь под гуманностью в написании ПО?
ась?
_Narayan_ (2003-05-11 10:41:00) [12]exception это понятно, а более гуманного способа нет ?
Alexandr (2003-05-11 10:34:00) [13]exception ?