表thdpurbackm update trigger如下:
IF @@ERROR <> 0
begin
rollback
raiserror('更新库存失败!库存不能为负数。',16,1)
end
前端代码如下:
lcmd.CommandText = " UPDATE thdpurbackm " & _
" SET fstate = 'C' ,fcheckman='" & Pub_username & "', fcheckdate = '" & GetDateTime() & "'" & _
" WHERE ( fhdshopno = '" & ls_fhdshopno & "' ) AND " & _
" ( fbackno = '" & ls_fbackno & "' ) " Try
lcmd.ExecuteNonQuery()
Catch sqlerr As SqlException
MessageBox.Show(sqlerr.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
问题点:
资料没有更新成功,单怎么捕获不到任何异常。
如改为如下无条件执行就可以么捕获到异常,但这不是我要的效果.
IF @@ERROR <> 0
rollback
raiserror('更新库存失败!库存不能为负数。',16,1)
IF @@ERROR <> 0
begin
rollback
raiserror('更新库存失败!库存不能为负数。',16,1)
end
前端代码如下:
lcmd.CommandText = " UPDATE thdpurbackm " & _
" SET fstate = 'C' ,fcheckman='" & Pub_username & "', fcheckdate = '" & GetDateTime() & "'" & _
" WHERE ( fhdshopno = '" & ls_fhdshopno & "' ) AND " & _
" ( fbackno = '" & ls_fbackno & "' ) " Try
lcmd.ExecuteNonQuery()
Catch sqlerr As SqlException
MessageBox.Show(sqlerr.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
问题点:
资料没有更新成功,单怎么捕获不到任何异常。
如改为如下无条件执行就可以么捕获到异常,但这不是我要的效果.
IF @@ERROR <> 0
rollback
raiserror('更新库存失败!库存不能为负数。',16,1)
" SET fstate = 'C ' ,fcheckman= '" & Pub_username & " ', fcheckdate = '" & GetDateTime() & " '" & _
" WHERE ( fhdshopno = '" & ls_fhdshopno & " ' ) AND " & _
" ( fbackno = '" & ls_fbackno & " ' ) "
把你这个语句的结果发出来看看
" WHERE ( fhdshopno = '" & ls_fhdshopno & " ' ) AND " & _