![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Key violation
Ihtiandr © (2003-01-20 14:35:00)Для того чтобы предотвратить ошибку: key violation в каком событии нужно перехватить эту ошибку. Чтобы появлялось сообщение не "Key violation", а, например, "Запись уже присутствеет".
Ihtiandr (2003-01-20 15:58:00) [1]Я потом сам уже увидел.
Спасибо.
Reindeer Moss Eater (2003-01-20 15:46:00) [2]Оно выводит сообщение если только в одной колонке запись совпадает.
Стало быть первичный ключ - одно единственно поле
Delirium^.Tremens (2003-01-20 15:43:00) [3]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 - исключение
Связаны ли они? Думаю да.
Ihtiandr (2003-01-20 15:42:00) [4]Пишу в onPostError операторы
if Pos("Key violation",E.Message)<>0 then
begin
showmessage("qq");
abort;
end;
Оно выводит сообщение если только в одной колонке запись совпадает.
gek (2003-01-20 15:31:00) [5]
> Кроме того, вы тут предлагаете обработку исключений, а
> вас про события спрашивали
Ну а как взаимосвязаны события и исключения?
Да никак. Поэтому так и ответили про перехват
Reindeer Moss Eater (2003-01-20 15:27:00) [6]Кроме того, вы тут предлагаете обработку исключений, а вас про события спрашивали
Reindeer Moss Eater (2003-01-20 15:26:00) [7]Событие OnPostError не возникнет, если CachedUpdates.
Событие OnUpdateError не возникнет, если нет CachedUpdates.
gek (2003-01-20 15:23:00) [8]Наверное все-таки правильней
> Mike Kouzmine (20.01.03 15:13)
> Можно или по типу exceptiona, можно и так
> on E;Exception do
> begin
> if (Pos("Key viola",E.Message)) then
> end
Mike Kouzmine (2003-01-20 15:14:00) [9]try
except
onPostError
Reindeer Moss Eater (2003-01-20 15:13:00) [10]А если нет никакого события? А ошибка-то обязательно будет.
Mike Kouzmine (2003-01-20 15:13:00) [11]Можно или по типу exceptiona, можно и так
on E;Exception do
begin
if (Pos("Key viala",E.Message)<>0 then
end
Ihtiandr (2003-01-20 15:12:00) [12]Ну так как же перехватить? При каком событии?
Reindeer Moss Eater (2003-01-20 14:37:00) [13]Для того чтобы предотвратить ошибку: key violation в каком событии нужно перехватить эту ошибку
Если ты перехватил эту ошибку, будь уверен, ты её не предотвратил :)