zoukankan      html  css  js  c++  java
  • 通用分页存储过程

      从学校出来一开始就用SQL2005,现在的客户有的是SQL2000有时候很多的东西都用不成,没有办法,就像今天这儿事,存储过程出错,郁闷。关于分页存储过程的资料很多,我就不多说了,Google一下你就知道了。也发一个存储过程,方便大家。性能还算可以吧,支持多表查询,多字段排序,但是必须主键唯一,要是哪位兄弟有支持主键重复的,请告之。

    思路说明:

      按条件排序方式查询表获得总数,计算你想要的页码开始位置和结束位置,取得你要的信息返回。为了提高一点性能,增加了传入总数参数,存储过程中判断当页码Page_Index=1的时候,获得总数,不为1的时候直接的使用传入的总数参数。

    准备工作:

    1.下载PagerHelperSQL2000.cs、PagerQueryParam.cs、SMSPagination.sql、AspNetPager

     地址:AspNetPager SMSPagination.sql

     注意:PagerQueryParam是我写的一个分页查询类,包含了分页存储过程要用的信息,全部的分页查询都可以调用这个类;

    2.在使用的地方加入PagerHelperSQL2000.cs和PagerQueryParam.cs

    3.应用代码

    分页前台代码
    1 static PagerQueryParam Pager = new PagerQueryParam();
    2 Pager.TableName = @"dbo.CargoTrain A inner join dbo.CargoVideos C on A.TrainSystemCode=C.TrainSystemCode";
    3 Pager.PrimaryKey = @"C.VideoSystemCode";
    4 Pager.ShowFields = @" A.[StationName]”;
    5 Pager.OrderField = @"C.VideoSystemCode";
    6   Pager.OrderType = 1;
    7 Pager.StrWhere = string.Empty;
    8 Pager.PageIndex = 1;
    9 Pager.PageSize = 10;
    10 Pager.TotalCount = 0;
    11 Pager.ReTotalCount = 0;
    12  int TotalCount = Pager.TotalCount;
    13 string ErrMsg = string.Empty;
    14 PagerHelperSQL2000 datahel = new PagerHelperSQL2000();
    15
    16 Pager.StrWhere = GetStrWhere();
    17 DataTable dt = datahel.GetDataListBuPagerQueryParam(Pager, out TotalCount, out ErrMsg);
    18 if (TotalCount > 0)
    19 {
    20 Rep.DataSource = dt;
    21 Pager.TotalCount = TotalCount;
    22 AspNetPager.RecordCount = Pager.TotalCount;
    23 AspNetPager.PageSize = Pager.PageSize;
    24 Rep.DataBind();
    25 }
  • 相关阅读:
    能量最小化初探,graphcuts能量最小化调用
    【设计】B 端产品设计
    【产品分析】关于字节跳动的神话与现实
    【UI】数据表格设计
    【设计】交互文档结构
    【作品集】UX作品集
    【产品方法论】需求是怎么来的
    【ML】人脸识别
    【ML】DL的参数量计算
    【网站部署】flask
  • 原文地址:https://www.cnblogs.com/allanbolt/p/1629908.html
Copyright © 2011-2022 走看看