ql2000存储过程事务如何捕获返回错误代码

CREATE PROCEDURE zd_kjjLogin 
 
@Id Int output, 
@userClass nvarchar(20) output, 
@department nvarchar(20) output, 
@purview nvarchar(20) output, 
@userName nvarchar(20), 
@passWord nvarchar(20), 
@IP nvarchar(20) 
 
AS 
 
if exists(select id from [zd_user_admin] where UserName = @userName and [Password] = @passWord) begin 
  begin transaction 
  update [zd_user_admin] set LastLoginTime = getdate(), LastLoginIP = @IP,logins = logins+'a' where UserName = @Username 
  if @@error <>0 begin 
     --捕获错误一般是这样的。
     --加这一句,在前台程序可以捕捉到。
     raiserror('这里写上你的错误提示',16,1)
     --******************************************
      rollback transaction 
      return -1 
  end 
  commit transaction 
  select @Id=Id,@userClass=userClass,@department=department,@purview=purview from [zd_user_admin]  where UserName = @userName 
  return 0 
end 
 
  return 1 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值