• 存储过程分页,前台应用范例repeater分页


    private string connectionString = "server=(local);database=database;uid=****;pwd=*** ";   //数据库连接字符串
    protected void Page_Load(object sender, EventArgs e)
    {
         if (!Page.IsPostBack)
         {
             BindDataList();
         }
    }

    protected void BindDataList()
    {
         string strSql = "SELECT * FROM t1";
         string fieldOrder = "id ASC";
         int records = 0;
         Repeater1.DataSource = GetDataList(strSql, fieldOrder, Pager1.PageSize, Pager1.PageIndex, out records);   //读取数据源并绑定
         Repeater1.DataBind();
         //设置页面(必须)
         Pager1.SetPage(records);    //初始化分页条
    }

    /// <summary>
    /// 使用存储过程取出数据
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="fieldOrder"></param>
    /// <param name="pageSize"></param>
    /// <param name="pageIndex"></param>
    /// <param name="records"></param>
    /// <returns>数据表datatable</returns>
    public DataTable GetDataList(string strSql, string fieldOrder, int pageSize, int pageIndex, out int records)
    {
         DataTable dt = null;//返回的数据集  
         records = 0;//事先赋值
         using (SqlConnection sqlConn = new SqlConnection(connectionString))
         {
             //打开连接
             sqlConn.Open();
             //初始化参数
             SqlCommand sqlCmd = new SqlCommand();
             sqlCmd.Connection = sqlConn;
             sqlCmd.CommandText = "SP_Page";
             sqlCmd.CommandType = CommandType.StoredProcedure;

             #region  ___存储过程参数___
             SqlParameter recordsParam = new SqlParameter("@TotalCount", SqlDbType.Int, 32);
             recordsParam.Direction = ParameterDirection.Output;
             //创建
             sqlCmd.Parameters.Add(new SqlParameter("@Sql", SqlDbType.NVarChar, 1024));
             sqlCmd.Parameters.Add(new SqlParameter("@Sort", SqlDbType.NVarChar, 100));
             sqlCmd.Parameters.Add(new SqlParameter("@PageSize", SqlDbType.Int, 32));
             sqlCmd.Parameters.Add(new SqlParameter("@PageIndex", SqlDbType.Int, 32));
             sqlCmd.Parameters.Add(recordsParam);
             //赋值
             sqlCmd.Parameters[0].Value = strSql;
             sqlCmd.Parameters[1].Value = fieldOrder;
             sqlCmd.Parameters[2].Value = pageSize;
             sqlCmd.Parameters[3].Value = pageIndex;
             sqlCmd.Parameters[4].Direction = ParameterDirection.Output;
             #endregion ___存储过程参数___

             //取数据
             DataSet ds = new DataSet();
             SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
             sda.Fill(ds);
             if (ds != null && ds.Tables.Count > 0)
             {
                 dt = ds.Tables[0];
             }
             records = (int)recordsParam.Value;  //返回记录数
             //释放资源
             if (sqlConn != null)
             {
                 sqlConn.Close();
                 sqlConn.Dispose();
             }
         }
         return dt;
    }

    天道酬勤,厚积薄发。 君子之行,静以修身,俭以养德。 非淡泊无以明志,非宁静无以致远。 如有恒,何须三更起,半夜眠;最怕莫,三天打鱼两天晒网,竹篮打水一场空。
  • 相关阅读:
    跑步前后吃什么?
    英雄杀八人场心得
    如何判断JavaScript数据具体类型
    js实现时间日期的格式化
    各个公司前端笔试题回顾
    原型模式Prototype,constructor,__proto__详解
    二级菜单不同方法的实现
    秋招笔试碰到的疑难题目1
    php和mysql学习问题笔记
    es6学习笔记12--Class
  • 原文地址:https://www.cnblogs.com/houweidong/p/2978131.html
Copyright © 2020-2023  润新知