Главная страница
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.021 c
14-15887
Думкин
2003-01-18 10:36
2003.02.06
Книги


4-15995
exchoper
2002-12-24 12:02
2003.02.06
Увеличение SOMAXCONN


14-15927
Дремучий
2003-01-20 23:46
2003.02.06
Посоветуйте http-сайт-менеджера.


1-15641
SONY
2003-01-29 12:37
2003.02.06
Как Canvas сохранить на диск в метафайле ?


1-15588
diks
2003-01-26 07:19
2003.02.06
!