Хранимая процедура получает ошибку при выполнении в VB
Привет, моя хранимая процедура получает ошибки при выполнении из VB " счетчик транзакций после выполнения указывает на несоответствие статусов Begin и Commit, previouse count =0, current count =1,
Что я уже пробовал:
ALTER PROCEDURE [dbo].[SMlineUpdate3] ( @id [int], @Payroll_Id [int], @ProductCode nvarchar(255), @Description nvarchar (255), @Qty nvarchar(255) ) AS IF EXISTS(SELECT Id from Smline where @id = Id) DECLARE @User INT BEGIN TRANSACTION Update dbo.SmLine Set [Payroll_Id]= @Payroll_Id ,ProductCode= @ProductCode ,Description = @Description ,Qty = @Qty Where [Id]=@Id IF @@ERROR <> 0 BEGIN ROLLBACK RETURN END ELSE BEGIN TRANSACTION DECLARE @SId INT INSERT INTO SmLine ([Payroll_Id],[ProductCode],[Description],[Qty]) VALUES (@Payroll_Id,@ProductCode ,@Description,@Qty) SET @SId= SCOPE_IDENTITY() IF @@ERROR <> 0 BEGIN ROLLBACK RETURN END COMMIT
RedDk
Вы начинаете сделку, которая никогда не заканчивается ... это очень просто и легко заметить. Используйте справку BOL, доступную под {?} используемой версии SSMSE.