1 执行不带参数的存储过程
public List<dynamic> ceshiProc() { string sql = @"EXEC [dbo].[p_ceshi1]"; DBInstance.DB.EnableAutoSelect = false; List<dynamic> list = DBInstance.DB.Fetch<dynamic>(sql).ToList<dynamic>(); DBInstance.DB.EnableAutoSelect = true; return list; }
2 执行带参数的存储过程
public List<dynamic> ceshiProc() { string sql = @"EXEC [dbo].[p_ceshi2] @0,@1"; //这里必须是@0,@1 代表第一个参数,和第二个参数 int cid = 6; DateTime dtime =Convert.ToDateTime("2015-08-02"); DBInstance.DB.EnableAutoSelect = false; SqlParameter[] pars = { new SqlParameter("@cid", cid), //存储过程第一个参数 new SqlParameter("@CCreateDate",dtime) //存储过程第二个参数
};
var sql2 = PetaPoco.Sql.Builder.Append(sql, pars);
List<dynamic> list = DBInstance.DB.Fetch<dynamic>(sql2).ToList<dynamic>();
DBInstance.DB.EnableAutoSelect = true;
return list; }
3 执行带输出参数的存储过程
public List<dynamic> ceshiProc() { //int i = DBInstance.DB.Execute("EXEC [dbo].[Proc_LDFZBGZDZXQK001] @Cid", 6); string sql = @"EXEC [dbo].[p_ceshi3] @0,@1,@2 OUTPUT"; int cid = 6; DateTime dtime =Convert.ToDateTime("2015-08-02"); DBInstance.DB.EnableAutoSelect = false; SqlParameter[] pars = { new SqlParameter("@cid", cid), new SqlParameter("@CCreateDate",dtime), new SqlParameter("@Total",SqlDbType.Int){Direction=ParameterDirection.Output} }; var sql2 = PetaPoco.Sql.Builder.Append(sql, pars); List<dynamic> list = DBInstance.DB.Fetch<dynamic>(sql2).ToList<dynamic>(); DBInstance.DB.EnableAutoSelect = true; int total = Convert.ToInt32(pars[2].Value);//输出参数的值 return list; }