Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Исключения   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1149242870
Вопрошающий
2006-06-02 14:07
2006.06.25
Алгоритм определения дня недели по дате


15-1148994956
oldman
2006-05-30 17:15
2006.06.25
Интересная компоновка... :)


6-1139695044
Yeg
2006-02-12 00:57
2006.06.25
Изменения в ICQ-протоколе...


2-1149451967
werb
2006-06-05 00:12
2006.06.25
диаграмма


3-1146568224
Рыспек
2006-05-02 15:10
2006.06.25
Возможно ли в DataSetProvider.DataSet указать TClientDаtaSet?