• λ我爱Aspx >> C#.Net >> 通用分页存储过程,源码共享,大家共同完善_数据库技巧
  • 通用分页存储过程,源码共享,大家共同完善_数据库技巧

  • :aspxer  Դ:internet  :2007-4-28 23:44:44  ؼ:数据库,数据
  • 好久没有上来写点东西了,今天正好有空,共享一些个人心得,就是关于分页的存储过程,这个问题应该是老生重谈了,网上的通用存储过程的类型已经够多了,但是,好象看到的基本上不能够满足一些复杂的SQL语句的分页(也可能是我不够见多识广啊,呵呵),比如下面这句:

    select '' as CheckBox, A.TargetID, A.TargetPeriod, Convert(varchar(10), B.BeginDate, 120) as BeginDate,

    Convert(varchar(10), B.EndDate, 120) as EndDate, C.SalesCode, C.SalesName, D.CatalogCode, D.CatalogName,

    E.OrgID, E.OrgName, F.OrgID as BranchOrgID, F.OrgCode as BranchOrgCode, F.OrgName as BranchOrgName,

    A.Amount, '' as DetailButton

    from ChlSalesTarget as A

    left outer join ChlSalesTargetPeriod as B on A.TargetPeriod=B.TargetPeriod

    left outer join ChlSales as C on A.Sales=C.SalesCode

    left outer join ChlItemCatalog as D on A.ItemCatalog=D.CatalogCode

    left outer join ChlOrg as E on A.OrgID=E.OrgID

    left outer join ChlOrg as F on C.BranchOrgID=F.OrgID

    where A.TargetPeriod >='200607' and A.TargetPeriod <='200608' and F.OrgCode like '%123%' and E.OrgCode like '%123%'

    order by A.TargetPeriod desc,C.SalesName,D.CatalogName上面这句SQL里面有一些特殊情况,比如使用了Convert函数,而且没有主键,有多表连接,有表别名,字段别名等等,这些情况处理起来可能比较棘手,当然,其中的“'' as CheckBox”是我系统当中的特例情况,用来做一些处理的。

    我这里提供一个自己开发的通用分页存储过程,有什么好的建议和意见,大家请不吝指教。代码如下:

    通用分页存储过程----Sp_Paging

    /**//*

    ============================================================

    功能: 通用分页存储过程

    参数:

    @PK varchar(50), 主键,用来排序的单一字段,空的话,表示没有主键,存储过程将自动创建标识列主键

    @Fields varchar(500), 要显示的字段列表(格式如:ID,Code,Name)

    Ҷƪл˵?
  • һƪ高级自定义查询、分页、多表联合存储过程_数据库技巧
    һƪ两个数据分页的存储过程_数据库技巧