Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1149437413
alex007
2006-06-04 20:10
2006.06.25
Создание компонентов на форме в запущенном приложении


2-1149614650
Mr tray
2006-06-06 21:24
2006.06.25
Нужно ли выделять память для #0 в null-terminated string


6-1139813826
Pavlusha00
2006-02-13 09:57
2006.06.25
БД Через Proxy


1-1147878191
Yr2
2006-05-17 19:03
2006.06.25
При доступе к БД из NT-сервиса русские буквы в виде "иероглифов"


15-1149067188
TUser
2006-05-31 13:19
2006.06.25
Студенты и промт :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский