数据库RAISERROR的错误,在应用程序中不起作用

gaomicro 2014-12-22 02:12:52
今天遇到一个问题,在存储过程中有这样的一个语句


DECLARE @err_msg VARCHAR(MAX) ,
@err_severity INT ,
@err_state INT
BEGIN TRY
SELECT *
FROM tablename1

RAISERROR('121212',11,1)

END TRY
BEGIN CATCH
SET @err_msg = ERROR_MESSAGE()
SET @err_severity = ERROR_SEVERITY()
SET @err_state = ERROR_STATE()
RAISERROR(@err_msg,@err_severity,@err_state)
END CATCH

但是在程序里,使用sqldataadapter.UPDATE()执行这个过程时,不会捕捉到错误,如果把
SELECT * FROM tablename1注释掉,就可以捕捉到错误。在查询分析器里试了下,是可以看到错误消息提示的。
是不是查表语句后,RAISERROR不起作用?
...全文
51 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinuxCard 2014-12-22
  • 打赏
  • 举报
回复
怎么和我碰到的问题差不多

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧