Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать, чтобы 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо