SqlSugar 执行存储过程和获取返回值
根据官方文档 如下://简单用法var dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{name="张三",age=0});//带有output的存储过程var nameP= new SugarParameter("@name", "张三");var ageP= new SugarParameter("@age", nul
·
根据官方文档 如下:
//简单用法
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;
更多推荐
已为社区贡献1条内容
所有评论(0)