Главная страница
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.015 c
14-15896
Shadow
2003-01-20 15:51
2003.02.06
Депресняк %((((


14-15854
Феликс
2003-01-18 19:42
2003.02.06
Какая самая крутая баннерная система в РФ?


14-15827
toly
2003-01-22 09:18
2003.02.06
Голосовые платы


8-15771
Карелин Артем
2002-10-23 16:09
2003.02.06
Текст с градиентной окантовкой.


1-15662
_vitek_
2003-01-25 02:56
2003.02.06
Random глючит...