我爱Aspx >> C#.Net >> 通用分页存储过程,源码共享,大家共同完善_数据库技巧
好久没有上来写点东西了,今天正好有空,共享一些个人心得,就是关于分页的存储过程,这个问题应该是老生重谈了,网上的通用存储过程的类型已经够多了,但是,好象看到的基本上不能够满足一些复杂的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)
Ҷƪл˵?
两个数据分页的存储过程_数据库技..[04-28]
存储过程使用技巧_数据库技巧[04-28]
分页存储过程2005 _数据库技巧[04-28]
分页存储过程2000_数据库技巧[04-28]
在SQL Server 2005中用存储过程实..[04-28]
sql2000下 分页存储过程_数据库技..[04-28]
SQL IF..ELSE..在存储过程的使用..[04-28]
SQL Server 2005 - 如何实作CLR存..[04-28]
分页存储过程_数据库技巧[04-28]
SQL server 2000存储过程 _数据库..[04-28]
两个数据分页的存储过程_数据库技..[04-28]
在存储过程中实现分页_ASP.NET技..[04-28]
ASP.NET2.0调用MySql的存储过程_..[04-28]
存储过程的分析_ASP.NET技巧[04-28]
存储过程使用技巧_数据库技巧[04-28]
分页存储过程2005 _数据库技巧[04-28]
分页存储过程2000_数据库技巧[04-28]
在SQL Server 2005中用存储过程实..[04-28]
ASP调用带参数存储过程的几种方式..[04-28]
ASP.NET中如何调用存储过程_ASP...[04-28]