存储过程


CommandType.Text方式

也就是SQL脚本的方式,这种方式是不能直接用存储过程名字去调用的,需要这样写

db.Ado.GetInt("exec spName @p1",new {p=1})


CommandType.StoredProcedure 方式

4.5.02版本支持

var dt2 = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{name="张三",age=0});//  GetInt SqlQuery<T>  等等都可以用

//支持output
var nameP= new SugarParameter("@name", "张三");
var ageP= new SugarParameter("@age", null, true);//isOutput=true
var dt2 = db.Ado.UseStoredProcedure().GetDataTable("sp_school",nameP,ageP);
//ageP.value可以拿到返回值


Oracle游标

 parameter.IsRefCursor =true;




我们还可以用 GetParameters 来简化参数操作

 string p=null;
 SugarParameter [] pars =db.Ado.GetParameters(new{p=1,p2=p});
 var p2= pars[1].Direction=ParameterDirection.Output;































































收藏到朋友圈: