Форум: "Базы";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
ВнизСообщение о дубликате записи Найти похожие ветки
← →
Некто (2005-01-02 01:52) [0]Создал ексцепшн, для вывода сообщения о дублировании записи (sqlcode -803):
create exception msg_dbl "Такое значение в справочнике уже существует, введите др. значение";
вот теперь мучаюсь с тем, как и куда этот ексцепшн прицепить, может есть у кого пример?
← →
DrPass © (2005-01-02 13:10) [1]Ты будешь удивлен, но
try
except
end
← →
Zacho © (2005-01-02 15:03) [2]Если это исключение просто дублирет стандартное исключение, возникающие при нарушении ПК или UNIQUE CONSTRAINT, то лучше никуда его не прицеплять, ибо смысла в нём нет.
А вообще - туда, где происходит определение критериев для возбуждения исключения - в триггере или ХП.
А обрабатывать его в Дельфи - см. DrPass © (02.01.05 13:10) [1]
← →
Некто (2005-01-02 16:02) [3]т.е.
try
...
except
on EDatabaseError do ShowMesssage("...");
end
так на класс EDatabaseError приходится не только нарушение при дублировании ключа, но и ещё куча ошибок. Как мне узнать какая именно?
← →
Zacho © (2005-01-02 16:15) [4]Некто (02.01.05 16:02) [3]
Например, по тексту ошибки. Или по коду, если в соответствующем наследнике от Exception есть св-во с кодом.
← →
Некто (2005-01-02 17:05) [5]Zacho © (02.01.05 16:15) [4]
можно пример, не понимаю как это реализовать
← →
Zacho © (2005-01-02 20:26) [6]Например, так:
try
...
except
on E:EDatabaseError do
begin
if pos("Violation of PRIMARY",E.Message)>0 then ShowMesssage("...");
end;
end
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c