![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi не реагирует на RAISERROR [D6, MSSQL]
testthewest © (2003-08-20 12:45:00)
Вот процедурка для перемещения в дереве ветки на другую ветку. Почему-то Дельфя упорно не реагирует на последний RAISERROR. Причем на RAISERROR-test-1 - реагирует, a на RAISERROR-test-2 - НЕ реагирует. При запуске процедуры из Query Analyzer или Enterprize Manager все RAISERROR отрабытаваются правильно.
В чем может быть дело?
mssql2000
CREATE PROCEDURE dbo.SMK_MOVETREENODE @ItemID int, @ItemParentID int, @NewItemParentID int
AS
DECLARE @rc int, @er int
BEGIN TRAN
--RAISERROR ("TEST-1",16,1)
UPDATE SMK_TREELINKS
SET TR_ParentID=@NewItemParentID
WHERE (TR_ParentID=@ItemParentID) AND (TR_ChildID=@ItemID)
SET @rc= @@ROWCOUNT
DECLARE @s varchar(500)
SET @s=dbo.GetNodeAllSubChilds(@ItemID)
SET @er=CHARINDEX("Error",@s)
SET @s="ОШИБКА в SMK_MOVETREENODE: "
IF @rc<>1 SET @s=@s+" Обновлено строк<>1 "
IF @er<>0 SET @s=@s+" NestLevel>30 "
--RAISERROR ("TEST-2",16,1)
IF (@rc<>1) or (@er<>0)
BEGIN
ROLLBACK TRAN
RAISERROR(@s,16,1)
RETURN
END
COMMIT TRAN
GO
testthewest (2003-08-20 14:51:00) [1]http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=45140