SqlSugar 执行存储过程和获取返回值

根据官方文档 如下:

//简单用法
var dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{name="张三",age=0}); 
 
 
 
//带有output的存储过程
var nameP= new SugarParameter("@name", "张三");
var ageP= new SugarParameter("@age", null, true);//设置为output
var dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",nameP,ageP);
//ageP.Value可以拿到output值
//Oracle 游标参数用法  
 
 
//如果是ReturnValue
var nameP=new SugarParameter("@name", "张三", typeof(string),ParameterDirection.ReturnValue);
 
 
//我们还可以用 GetParameters 来简化参数操作 
 SugarParameter [] pars =db.Ado.GetParameters(new{p=1,p2=p}); 
 pars[1].Direction=ParameterDirection.Output;

我的存储过程

--执行有错误 return 0 反之return 1
begin tran

    内容

commit tran
return 1

Error_Label:
rollback tran
return 0

调用方式,获取  ReturnV 的 Value 来判断是否执行是否有错误 

var ReturnV = new SugarParameter("@return_value", null);
 //ReturnPara 是存储过程返回值结果,需要设置ParameterDirection.ReturnValue
ReturnV.Direction = System.Data.ParameterDirection.ReturnValue;

using (SqlSugarClient db = Sql.GetIntance()) //开启数据连接
{
      var dt = db.Ado.UseStoredProcedure().GetDataTable("P_MaterialAutoOut", OutPlanDetailId, Remark, SelectLocationType, OutType, OutSite, OutPort, ReturnV );
}

(int)ReturnPara.Value;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值