2008-11-11 39 views
0

我有下面的僞代碼的SP獲得我的自定義錯誤消息...從SQL 2000 SP

BEGIN TRANSACTION 
      set @errorLocation='Deleting Permissions' 
      DELETE [tblUsrPermissions] 
      WHERE 
       lngUserID = @lngUserID 
      if @@error>0 
      begin 
       goto roll_back 
      end 

      COMMIT TRANSACTION 
      set @errorLocation='' --clear error messages 
      select @errorLocation --return success 
    return 
roll_back: 
    IF @@TRANCOUNT > 0 
     ROLLBACK TRANSACTION -- there were errors, rollback 
    select @errorLocation 

我使用.NET的SqlClient SQL DataReader和我在代碼的時候得到一個exeception調用ExecuteScalar函數 - 在我的刪除操作過程中發生錯誤。

我想獲取自定義錯誤消息而不是異常。我能做什麼?

回答

1

使用raiserror將錯誤傳遞給客戶端。 請注意,根據erorr的嚴重性,您的raiserror消息可能永遠不會被擊中。 所以更完整的答案提供你得到的原始錯誤,你在哪裏得到它。