使用场景:**
当需要通过 DataSource.ExecSql() 执行存储过程,如果存储过程执行中满足一定条件需要中止执行(比如没有找到生产物流号),并将提示信息返回给客户端,则可在存储过程中主动抛出异常,示例代码如下。
C# 代码片段:
if(DataSource.ExecSql(ht)["IsSuccess"].Equals("0")) return;
**SQL 存储过程片段:**
SQL 存储过程片段:
select @Scwlh=Scwlh from WS_Prcj_Rsjhdd where Rsjhid='2017001'
if @@ROWCOUNT=0
begin
set @ErrorMsg='没有找到生产物流号!'
raiserror(@ErrorMsg,11,1) --如果没有取到“生产物流号”不能继续执行,则主动抛出异常
return
end
这里主要用到了 SQL Server 的 raiserror 函数,可查阅相关资料:http://www.cnblogs.com/xugang/archive/2011/04/09/2010216.html