Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Key violation   Найти похожие ветки 

 
Ihtiandr   (2003-01-20 14:35) [0]

Для того чтобы предотвратить ошибку: key violation в каком событии нужно перехватить эту ошибку. Чтобы появлялось сообщение не "Key violation", а, например, "Запись уже присутствеет".


 
Reindeer Moss Eater   (2003-01-20 14:37) [1]

Для того чтобы предотвратить ошибку: key violation в каком событии нужно перехватить эту ошибку
Если ты перехватил эту ошибку, будь уверен, ты её не предотвратил :)


 
Ihtiandr   (2003-01-20 15:12) [2]

Ну так как же перехватить? При каком событии?


 
Reindeer Moss Eater   (2003-01-20 15:13) [3]

А если нет никакого события? А ошибка-то обязательно будет.


 
Mike Kouzmine   (2003-01-20 15:13) [4]

Можно или по типу exceptiona, можно и так
on E;Exception do
begin
if (Pos("Key viala",E.Message)<>0 then
end


 
Mike Kouzmine   (2003-01-20 15:14) [5]

try
except
onPostError


 
gek ©   (2003-01-20 15:23) [6]

Наверное все-таки правильней

> Mike Kouzmine (20.01.03 15:13)
> Можно или по типу exceptiona, можно и так
> on E;Exception do
> begin
> if (Pos("Key viola",E.Message)) then
> end



 
Reindeer Moss Eater   (2003-01-20 15:26) [7]

Событие OnPostError не возникнет, если CachedUpdates.
Событие OnUpdateError не возникнет, если нет CachedUpdates.



 
Reindeer Moss Eater   (2003-01-20 15:27) [8]

Кроме того, вы тут предлагаете обработку исключений, а вас про события спрашивали


 
gek ©   (2003-01-20 15:31) [9]


> Кроме того, вы тут предлагаете обработку исключений, а
> вас про события спрашивали


Ну а как взаимосвязаны события и исключения?
Да никак. Поэтому так и ответили про перехват


 
Ihtiandr   (2003-01-20 15:42) [10]

Пишу в onPostError операторы

if Pos("Key violation",E.Message)<>0 then
begin
showmessage("qq");
abort;
end;

Оно выводит сообщение если только в одной колонке запись совпадает.


 
Delirium^.Tremens ©   (2003-01-20 15:43) [11]

gek © (20.01.03 15:31)
> Ну а как взаимосвязаны события и исключения?
> Да никак.


Зачем же так категорично? Вот пример:


TUpdateErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of object;

property OnUpdateError: TUpdateErrorEvent;

DataSet.OnUpdateError - event (событие)
Один из параметров имеет тип EDataBaseError - исключение
Связаны ли они? Думаю да.


 
Reindeer Moss Eater   (2003-01-20 15:46) [12]

Оно выводит сообщение если только в одной колонке запись совпадает.
Стало быть первичный ключ - одно единственно поле


 
Ihtiandr   (2003-01-20 15:58) [13]

Я потом сам уже увидел.
Спасибо.



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

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
4-15987
Delchiv
2002-12-13 22:02
2003.02.06
Клик в неактивном окне


6-15802
Brat-2
2002-12-15 18:34
2003.02.06
Использование глобальной HOOK


1-15682
ychnik
2003-01-27 14:00
2003.02.06
Перевод строки


1-15543
hurricane_13
2003-01-28 14:05
2003.02.06
TDCOMConnection в потоке


1-15563
Arkady
2003-01-28 16:07
2003.02.06
try … except