• aspnetpager分页配通用存储过程


    存储过程  http://www.cnblogs.com/hejunrex/archive/2011/10/26/2224895.html

     ==DAL==

           /// <summary>
            
    /// 获取分页数据
            
    /// </summary>
            
    /// <param name="tblName">表名、视图、表连接 如:'xtest'</param>
            
    /// <param name="strGetFields">需要返回的列如:'xname,xdemo'</param>
            
    /// <param name="strWhere">查询条件(注意:不要加where)</param>
            
    /// <param name="strOrder">排序的字段名如:'order by id desc'</param>
            
    /// <param name="pageIndex">开始记录位置</param>
            
    /// <param name="pageSize">每页记录数</param>
            
    /// <param name="doCount">记录总数</param>
            
    /// <param name="recordCount">非0则统计,为0则不统计</param>
            
    /// <returns></returns>
            public DataTable GetPageData(string tblName,string strGetFields,string strWhere,string strOrder,int pageIndex,int pageSize,int doCount,out int recordCount)
            {
                SqlParameter[] prams ={
                                     new SqlParameter("@tblName",SqlDbType.VarChar),
                                     new SqlParameter("@strGetFields",SqlDbType.VarChar),
                                     new SqlParameter("@strWhere",SqlDbType.VarChar),
                                     new SqlParameter("@strOrder",SqlDbType.VarChar),
                                     new SqlParameter("@pageIndex",SqlDbType.Int),
                                     new SqlParameter("@pageSize",SqlDbType.Int),
                                     new SqlParameter("@doCount",SqlDbType.Int),
                                     new SqlParameter("@recordCount",SqlDbType.Int)
                                     };
                prams[0].Value = tblName;
                prams[1].Value = strGetFields;
                prams[2].Value = strWhere;
                prams[3].Value = strOrder;
                prams[4].Value = pageIndex;
                prams[5].Value = pageSize;
                prams[6].Value = doCount;
                prams[7].Direction = ParameterDirection.Output;
                DataTable dt = DbHelperSQL.RunProcedure("xp_GetDataPaged_2005", prams, "PageData").Tables[0];
                recordCount = (int)prams[7].Value;
                return dt;
            }

     ==BLL==

     /// <summary>
            
    /// 获取分页数据
            
    /// </summary>
            
    /// <param name="tblName">表名、视图、表连接 如:'xtest'</param>
            
    /// <param name="strGetFields">需要返回的列如:'xname,xdemo'</param>
            
    /// <param name="strWhere">查询条件(注意:不要加where)</param>
            
    /// <param name="strOrder">排序的字段名如:'order by id desc'</param>
            
    /// <param name="pageIndex">开始索引位置</param>
            
    /// <param name="pageSize">每页记录数</param>
            
    /// <param name="doCount">记录总数</param>
            
    /// <param name="recordCount">非0则统计,为0则不统计</param>
            
    /// <returns></returns>
            public DataTable GetPageData(string tblName, string strGetFields, string strWhere, string strOrder, int pageIndex, int pageSize, int doCount, out int recordCount)
            {
                SteelMachining.DAL.AspNetPager AspNetPagerDAL = new SteelMachining.DAL.AspNetPager();
                DataTable dt= AspNetPagerDAL.GetPageData(tblName, strGetFields, strWhere, strOrder, pageIndex, pageSize, doCount, out recordCount);
                return dt;
            }

     ==Web==

     private void Bind()
            {
                int recordCount = 0;
                DataTable dt = (new SteelMachining.BLL.AspNetPager()).GetPageData("companyInfo""id""""order by id desc", AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, 1out recordCount);
                AspNetPager1.RecordCount = recordCount;
                Repeater1.DataSource = dt;
                Repeater1.DataBind();
            }
            protected void AspNetPager1_PageChanged(object sender, EventArgs e)
            {
                Bind();
            }

    简单记录下...

    其中分页每次算总数可以使用单独方法只计算一次.....

  • 相关阅读:
    图解一道腾讯笔试算法题:「最长上升子序列」
    【时空】冰与火之歌一文弄懂时间复杂度与空间复杂度
    程序员必须掌握哪些算法?
    重学算法:Hash 算法原理及应用漫谈
    LeetCode 第 66 号问题:加一
    Java 面试 80% 的人都会踩这些坑,你知道几种?
    告别递归,从零开始一文学会递归解题
    动画: 快速排序 | 如何求第 K 大元素?
    【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
    万字长文!动态规划的终极难题:字符匹配类
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2226671.html
Copyright © 2020-2023  润新知