Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизИсключения Найти похожие ветки
← →
makvell (2006-04-26 22:35) [0]Вопрос такой:
Как в Delphi поймать исключение, имеющееся в БД, и выдать бошлее-менее "красивое" сообщение?
Заранее спасибо.
← →
Джо © (2006-04-27 01:45) [1]try
// тут работаем
except
on E: Exception do
// тут выводим красивое сообщение
end;
← →
makvell (2006-04-27 09:44) [2]Не, вот, например, есть база данных с двумя таблицами: склад и магазин...
товар продают и в таблице магазин остается запись о том кто, что и сколько продал, соответственно срабатывает процедура, вычитающая количество проданного товара и общего кол-ва этого товара на складе. В процедуре срабатывает исключение, если "магазин" пытается продать товара больше чем есть на складе, вот именно его мне и нужно поймать если конечно это реально или может быть еспособ...
← →
Johnmen © (2006-04-27 09:49) [3]Текст процедуры?
← →
makvell (2006-04-27 10:33) [4]SET TERM ^ ;
CREATE PROCEDURE NEW_PROCEDURE (
KOL INTEGER,
NAME VARCHAR(20),
RNO INTEGER)
AS
DECLARE VARIABLE OST INTEGER;
DECLARE VARIABLE I_COUNT INTEGER;
DECLARE VARIABLE ID INTEGER;
DECLARE VARIABLE CENA_1 DOUBLE PRECISION;
DECLARE VARIABLE VSEGO DOUBLE PRECISION;
BEGIN
SELECT item_id, item_count, item_price FROM sklad
WHERE item_name = :name
INTO :id, :i_count, cena_1;
IF (i_count<kol) THEN
BEGIN
exception no_items;
exit;
END
ost = i_count - kol;
UPDATE sklad
SET item_count = :ost
WHERE item_id = :id;
vsego = kol * cena_1;
UPDATE shop
SET navar = :vsego
WHERE rec_no = :rno;
SUSPEND;
END^
SET TERM ; ^
← →
Johnmen © (2006-04-27 11:24) [5]Эксепшн ты поднял. Хорошо...
Но тогда непонятно, чем не устраивает его ловля через try?
← →
Виталий Панасенко (2006-04-27 11:40) [6]fb_1_5_errorcodes.pdf поищи.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c