Главная страница
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.019 c
1-15570
Ag2002
2003-01-28 12:48
2003.02.06
Цвета


3-15424
D
2003-01-21 14:20
2003.02.06
ошибка при отобр-и данных с LookupField


4-15987
Delchiv
2002-12-13 22:02
2003.02.06
Клик в неактивном окне


1-15613
Explorer
2003-01-23 08:41
2003.02.06
Переход по Enter


6-15800
RAA
2002-12-15 12:58
2003.02.06
Как считать файл на другом компе по NetBios?