根据官方文档 如下:
//简单用法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);//设置为outputvar dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",nameP,ageP);//ageP.Value可以拿到output值//Oracle 游标参数用法 //如果是ReturnValuevar 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 1begin tran内容commit tranreturn 1Error_Label:rollback tranreturn 0
调用方式,获取 ReturnV 的 Value 来判断是否执行是否有错误
var ReturnV = new SugarParameter("@return_value", null);//ReturnPara 是存储过程返回值结果,需要设置ParameterDirection.ReturnValueReturnV.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;