zoukankan      html  css  js  c++  java
  • 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();
            }

    简单记录下...

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

  • 相关阅读:
    Exchange 2007 安装后的一些管理问题2
    几个不同领域的软件厂商。
    【新鲜提取的两款词典中英版DioDict、英英版DioDict牛津词典
    转:分布式 DBA:存储、I/O 和 DB2,第 1 部分(针对在网络存储环境中部署 DB2 数据库的建议)(1)
    脚本:列出windows上已安装的应用程序(使用中发现部分没有vender的应用程序列不出来)
    判断安卓程序是否高危程序。
    转:Target Daemon (tgtd) tgtadm
    转:探索 AIX 6:在 AIX 6 上配置 iSCSI Target
    windows live writer 与博客园
    转:项目管理。
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2226671.html
Copyright © 2011-2022 走看看