![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка ошибки хранимой процедуры
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]Что, ни кто с этим не сталкивался?