Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка ошибки хранимой процедуры


explorer ©   (2003-05-28 13:16:00) 

Мастера!
Есть, к примеру, хранимая процедура:

CREATE PROCEDURE dbo.PROCCloseDay
@ERR int output AS

BEGIN tran CloseDay

Update Days set PrDay=1, CloseDay=getdate()
where PrDay=0


if(@@error!=0) begin
rollback tran CloseDay
select @ERR=1
end
else begin
select @ERR=0
commit tran CloseDay
end
GO

Не получается, программно при возникновении ошибки выдать свое сообщение:

with StoredProcCloseDay do
begin
Close;
Prepare;
ExecProc;

if (ParamByName("@ERR").AsInteger = 1) then
begin
MessageDlg("!!!",mtError, [mbOk], 0);
Close;
end
else begin
MessageDlg("УУУУУ",mtInformation, [mbOk], 0);
Close;
end;
end;
Выдается только стандартное сообщение об ошибки(к примеру нет поля и т.д.)! Подскажите где копать?


Explorer   (2003-05-29 10:15:00) [1]

Спасибо!


АлексейК   (2003-05-29 08:30:00) [2]

IF (@@ERROR=0
BEGIN
RAISERROR("Мое сообщение", 11, 1) если нужно
COMMIT TRAN
END
ELSE
BEGIN
ROLLBACK TRAN
RAISERROR("Мое сообщение", 11, 1)
END

try
componet_dostupa.[open][execute];
except
on E:[Exception][EOleExecption]...
MessageDlg("УУУУУ"+E.Message,mtInformation, [mbOk], 0);
end


Explorer   (2003-05-29 06:55:00) [3]

Что, ни кто с этим не сталкивался?


Наверх

Титульная страница Поиск, карта сайта Написать письмо