在VB中sql raiserror error.number错误

时间:2010-04-29 15:50:39

标签: sql-server tsql raiserror

我编写了一个T-SQL查询,其中包含对有效EmployeeNo的测试。如果EmployeeNo无效,我会执行以下操作:

RAISERROR(5005, 10, 1, N'Invalid Employee No')
return @@Error

回到VB.Net我测试sql异常,发现当Employee No无效时,error.number不是5005,正如我所料,但是2732。

对此有何解释?

谢谢。

1 个答案:

答案 0 :(得分:1)

您不能在自己的代码中引发错误5005。只有数据库引擎才能做到这一点。

错误2732表示您无法引发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.