PetaPoco 存储过程

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;

        }
原文地址:https://www.cnblogs.com/zoumin123/p/5821978.html