![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать, чтобы TTable позволял редактировать запись, но не по
ghrup © (2004-08-29 19:05:00)Как сделать, чтобы TTable позволял редактировать запись, но не позволял вставлять новую запись?
ReadOnly не подходит, он запрещает и редактирование, и новую запись.
Romkin (2004-08-30 12:00:00) [1]raiseEDatabaseError.Create('Злобный автор не позволил добавлять');
ghrup (2004-08-30 11:30:00) [2]>procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
>begin
> EDatabaseError.Create('Злобный автор не позволил дабавлять');
>end;
Не работает. всё разрешает, сообщение не выводится.
С Abort работает.
Ozone (2004-08-30 05:24:00) [3]ghrup (29.08.04 21:36) [6]
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1093463113&n=1
ghrup (2004-08-29 21:36:00) [4]>Zacho
>Суть в том, что инициируется исключение.
А что происходит после?
Каким образом прерывается Insert?
Ведь событие BeforeInsert нужно для того чтобы выполнить действие до вставки
в таблицу, а не прерывать вставку, так ведь?
А если вызвать исключения в Before... BeforeClose,BeforeEdit и т.п.,
можно ли тоже прервать эти действия Close,Edit...?
Если вызвать ислючения в After... AfterInsert,AfterPost что произойдет?
Zacho (2004-08-29 20:06:00) [5]
> Anatoly Podgoretsky © (29.08.04 19:52) [3]
Ну, автор исходного поста ничего по этому поводу не сказал :-)
> ghrup (29.08.04 19:54) [4]
Суть в том, что инициируется исключение. Работает во всех версиях Дельфи. Подробно описано в стандартном хелпе.
ghrup (2004-08-29 19:54:00) [6]Большое спасибо!
Объясните суть приема, как это работает.
Это где нибудь описано в официальной документации?
Работает ли в разных версиях Delphi?
Anatoly Podgoretsky (2004-08-29 19:52:00) [7]Zacho © (29.08.04 19:27) [2]
Сообщение надо :-)
Zacho (2004-08-29 19:27:00) [8]А если не нужно сообщение об ошибке, то просто:
procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
Abort;
end;
AndB (2004-08-29 19:22:00) [9]
procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
EDatabaseError.Create('Злобный автор не позволил дабавлять');
end;