Вниз
Скачать: CL | DM;

Как сделать, чтобы TTable позволял редактировать запись, но не по   Найти похожие ветки 

← →
ghrup   (2004-08-29 19:05) [0]

Как сделать, чтобы TTable позволял редактировать запись, но не позволял вставлять новую запись?
ReadOnly не подходит, он запрещает и редактирование, и новую запись.


← →
AndB ©   (2004-08-29 19:22) [1]

procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
  EDatabaseError.Create("Злобный автор не позволил дабавлять");
end;


← →
Zacho ©   (2004-08-29 19:27) [2]

А если не нужно сообщение об ошибке, то просто:
procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
 Abort;
end;


← →
Anatoly Podgoretsky ©   (2004-08-29 19:52) [3]

Zacho ©   (29.08.04 19:27) [2]
Сообщение надо :-)


← →
ghrup   (2004-08-29 19:54) [4]

Большое спасибо!
Объясните суть приема, как это работает.
Это где нибудь описано в официальной документации?
Работает ли в разных версиях Delphi?


← →
Zacho ©   (2004-08-29 20:06) [5]


> Anatoly Podgoretsky ©   (29.08.04 19:52) [3]

Ну, автор исходного поста ничего по этому поводу не сказал :-)

> ghrup   (29.08.04 19:54) [4]

Суть в том, что инициируется исключение. Работает во всех версиях Дельфи. Подробно описано в стандартном хелпе.


← →
ghrup   (2004-08-29 21:36) [6]

>Zacho
>Суть в том, что инициируется исключение.
А что происходит после?
Каким образом прерывается Insert?
Ведь событие BeforeInsert нужно для того чтобы выполнить действие до вставки
в таблицу, а не прерывать вставку, так ведь?

А если вызвать исключения в Before... BeforeClose,BeforeEdit и т.п.,
можно ли тоже прервать эти действия Close,Edit...?

Если вызвать ислючения в After... AfterInsert,AfterPost что произойдет?


← →
Ozone ©   (2004-08-30 05:24) [7]

ghrup   (29.08.04 21:36) [6]

http://delphimaster.net/view/3-1093463113/


← →
ghrup   (2004-08-30 11:30) [8]

>procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
>begin
>  EDatabaseError.Create("Злобный автор не позволил дабавлять");
>end;

Не работает. всё разрешает, сообщение не  выводится.
С Abort работает.


← →
Romkin ©   (2004-08-30 12:00) [9]

raise EDatabaseError.Create("Злобный автор не позволил добавлять");



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.022 c
1-1094643170
Snip
2004-09-08 15:32
2004.09.26
Кто разбираеться в DLL


1-1094556792
greenrul
2004-09-07 15:33
2004.09.26
миграция с Delphi на Cbuilder


4-1089951636
dm37
2004-07-16 08:20
2004.09.26
LPT порт


4-1092377473
DelphiN!
2004-08-13 10:11
2004.09.26
Как запустить exe-шник из ресурса?


1-1094628015
Ivanov_F.
2004-09-08 11:20
2004.09.26
Как процедуре ограничить время, память, запись на диски?




   Наверх