I wrote a T-SQL query which includes a test for valid EmployeeNo. If the EmployeeNo is not valid, I do the following:
RAISERROR(5005, 10, 1, N'Invalid Employee No')
return @@Error
Back in VB.Net I test the sql exception and found that when the Employee No is invalid 开发者_如何学Pythonthe error.number is not 5005 as I would expect, but 2732.
What is the explanation for this?
Thank you.
You can't raise an error 5005 in your own code. Only the DB Engine can do this.
Error 2732 is the error that says you can't raise messages < 50000
SELECT description FROM sys.sysmessages m WHERE m.error = 2732 AND msglangid = 1033
Error number %ld is invalid. The number must be from %ld through %ld and it cannot be 50000.
精彩评论