AspNetPager分页问题请高手来指点

zhanghe100 2008-11-06 02:47:21
AspNetPager这个控件我感觉很好用
可我每次绑定时都是把所有的数据都给读出来的,这样对小数据来说是没问题,要是有大的数据就死定了
我现在想要一个SQL语句就是,先给AspNetPager绑定,把纪录总数给AspNetPager,通过AspNetPager当前页数在去数据库读数据绑定显示控件
这样我想就会很快了吧
请高人帮忙
...全文
137 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
showmy 2008-11-07
  • 打赏
  • 举报
回复
aspnetpager
mingch516548094 2008-11-06
  • 打赏
  • 举报
回复
分叶存储过程
niitnanfeng 2008-11-06
  • 打赏
  • 举报
回复
加我给你个存储过程.在这写我怕写错了丢人,呵呵。还有四楼的太牛了.
melon23 2008-11-06
  • 打赏
  • 举报
回复
AspNetPager 72Samples 控件就是针对大数据的啊,可好用了还有各种控件的例子。
takako_mu 2008-11-06
  • 打赏
  • 举报
回复
这两句比较重要
select * from temptbl where Number>=((@pageindex-1)*@pagesize+1)
and Number<=(@pageindex*@pagesize) order by project asc,(right([Code],5)) desc
takako_mu 2008-11-06
  • 打赏
  • 举报
回复
哪不会?你问吧。
zhanghe100 2008-11-06
  • 打赏
  • 举报
回复
惭愧啊,有好东西也看不懂,真郁闷
takako_mu 2008-11-06
  • 打赏
  • 举报
回复
用存儲過程吧。

ALTER proc [dbo].[usp_daily_work_select]
@flag int,
@owner nvarchar(50),
@status nvarchar(50),
@project nvarchar(50),
@startdate1 datetime,
@startdate2 datetime,
@duedate1 datetime,
@duedate2 datetime,
@description nvarchar(2000),
@updatedatetime datetime,
@updatename nvarchar(50),
@type nvarchar(50),
@item nvarchar(50),
@code nvarchar(50),
@pagesize int,
@pageindex int


AS
Begin

--查询时显示的资料
if(@flag=1)
begin
if(@status='Delete')
begin
with temptbl as
(
select ROW_NUMBER()over(order by project asc,(right([Code],5)) desc) AS Number,
dw.[No],dw.Project,dw.Item,dw.Code,dw.[Type],dw.[Description (purpose/value)],dw.Status,dw.[%],
Convert(Varchar(10),dw.[Start Date],120)AS [Start Date],Convert(Varchar(10),dw.[Due Date],120)AS [Due Date],dw.Owner,dw.[Day/Hour],dw.Comment,dw.Updatedatetime,dw.UpdateName
from daily_work dw
where dw.Status='Delete'
and dw.Item like '%'+@item+'%'
and dw.Owner like ''+@owner+'%'
and dw.Status like '%'+@status+'%'
and dw.Project like '%'+@project+'%'
and ((dw.[Start Date] between @startdate1 and @startdate2) or dw.[Start Date] IS null)
and ((dw.[Due Date] between @duedate1 and @duedate2 )or dw.[Due Date] IS null)
and dw.[Description (purpose/value)] like '%'+@description+'%'
)
select * from temptbl where Number>=((@pageindex-1)*@pagesize+1)
and Number<=(@pageindex*@pagesize) order by project asc,(right([Code],5)) desc
end

長是長了點,絕對正確,我自己寫的,沒改就貼給你,你試試。
chinaxc 2008-11-06
  • 打赏
  • 举报
回复
.....................o888888o.o88888888o.
.................8888888888888888888888888o.
...............888::::888888888888888888888888o.
.............88::::::::88888888888888888888888888o.
...........o8:::::::::888::顶88888888888888888888888.
..........8888:8::::::8:::::::::顶88888888888888888888.
.........8888::::8888::::::::::::::::顶88888888888  88
........8888:::888888888::::::::::::::::顶888888888  8
.......88.88888888888888888:::::::::::::顶88888888888
......88..888888888888888888:::::::::::顶88888888888888
......88.888888888888888888888::::::::顶88888888888888888
......8..8888888888888888888888::::::顶88888888888888888888
........8888888888888888::88888:::::顶8888888888888888888888
......88888888888888888::::8888::::顶8888888888888888  8888
.....88888888888888888::::8888::::顶:8::***::888888888  888
....88888888888888888::::888:::::顶::::****::888888888  88
..888888888888888888::::88::::::顶:::::::::::::888888888 88
.8888888888888888888::::8::::::顶:::::::::::::顶888888888 88
888...8888888888::88::::8:::::顶:::8oo8::::::88888888888888 8
88...88888888888:::8:::::::::顶:::::::::::::88888888888888888
.8..8888888888888:::::::::::顶::"8888888":::顶88888888888888888
..8888888888::888::::::::::顶:::::"8*8"::::顶88888888888888888888
.888888888:::::88:::::::::顶88::::::::::::顶88888888888888888888888
8888888888:::::8:::::::::顶88888::::::::顶888888888888888888888888888
888888888:::::8:::::::::顶8888888ooooo顶8888888888888888888888888888888
888888.顶::::::::::::::顶8888888888::::::顶8888888888888888  888888888
8888..顶:::::::::::::::顶88888888888::::::顶8888888888888888 8888888  
88888顶:::::::::::::顶88888888888888888::::::顶8888888888888   88888
...88.顶:::::::::::::8888:88888888888888888:::::顶顶888888888   8888
...88.顶:::::::::::8888顶::88888::888888888888:::::顶顶88888   888
...8...顶::::::::::8888顶:::8888:::::88888888888::::::顶顶88   888
.......8顶:::::::8888顶:::::888:::::::88:::8888888:::::::顶顶  88
......88顶:::::::8888顶::::::88:::::::::8:::::888888::::::::顶顶 88
.....8888顶:::::888顶:::::::::88::::::::::顶::::8888::::::::::::顶 8
....88888:顶::::888顶::::::::::8:::::::::::顶::::888::::::::::::::顶
...88.888:顶:::888:顶::::::::::8::::::::::::顶::888::::::::::::::::顶
...8.88888顶:::88::顶::::::::::::::::::::::::顶:88::::::::::::::::::顶
.....88888顶:::88::顶:::::::::::::::::::::::::顶88:::::::::::::::::::顶
.....88888顶:::88::顶:::::::::::::::::::::::::顶:8::::::::::::::::::::顶
....888888顶::::8::顶::::::::::::::8888::::::::顶8::::::::::::8888:::::顶
....88888..顶:::8::顶顶:::::::::::888888:::::::顶::::::::::::888888::::顶
....8888...顶顶:::::顶顶::::::::::888888:::::::顶顶::::::::::888888::::顶
....8888....顶:::::::顶顶::::::::::8888:::::::顶顶顶::::::::::8888::::顶
.....888....顶顶::::::顶顶顶:::::::::::::::::顶顶::顶::::::::::::::::顶
......88.....顶::::::::顶顶顶顶:::::::::::顶顶顶:::顶顶:::::::::::::顶
.......88....顶顶:::::::::顶顶顶顶顶顶顶顶顶顶:::::::顶顶顶顶顶顶顶顶
........88....顶顶::::::::::::顶顶顶顶顶顶顶::::::::::::顶顶顶顶顶
........88....顶顶::::::::::::顶顶顶顶顶顶顶::::::::::::顶顶顶顶
.........88...8顶顶::::::::::::::::::::::::::::::::::::::::顶
..........8...88顶顶::::::::::::::::::::::顶:::顶::::::::::顶
..............888顶顶::::::::::::::::::顶顶::::::顶顶::::::顶
.............88888顶顶:::::::::::::::顶顶顶:::::::顶顶:::::顶
.............888888顶顶:::::::::::::顶顶顶:::::::::顶顶:::顶
............88888888顶顶:::::::::::顶顶顶:::::::::::顶:::顶
...........88.8888888.顶::::::::顶顶顶::::::::::::::顶::顶
...........8..888888..顶::::::顶顶:::::::::::::::::顶::顶
..............888888..顶:::::顶:::::::::::::::::::顶::顶顶
.............888888...顶::::顶::::::::::::::::::::::::顶顶
.............888888...顶::::顶::::::::::::::::::::::::顶:顶
.............88888...顶::::::::::::::8::::::::::::::::顶::顶
............88888...顶:::::::::::::::88::::::::::::::::顶::顶
...........88888...顶::::::::::::::::8::::::::::::::::::顶::顶
..........88888...顶:::::顶:::::::::::::::::::::顶::::::::顶::顶
..........8888...顶:::::顶:::::::::::::::::::::::顶顶::::::顶::顶
.........8888...顶:::::顶:::::::::::::::::::::::顶顶顶:::::::顶:顶
........888....顶:::::顶顶::::::::::::::::::::::顶顶顶::::::::顶:顶
......8888....顶::::::顶顶:::::::::::::::::::::顶顶顶::::::::: 顶:顶
.....888......顶:::::顶:::::::::::::::::::::::顶顶::::::::::::::顶:顶
..8888.......顶::::::::::::::::::::::::::::::顶::::::::::::::::::顶:顶
.............顶::::::::::::::::::::::::::::::::::::::::::::::::::顶:顶
............顶::::::::顶:::::::::::::::::::::::::::::::::::::::::顶:顶
............顶::::::::顶:::::::::::::::::顶::::::::::::::::::::::顶:顶
...........顶::::::::::顶::::::::::::::顶::::::::::::::::::::::::顶:顶
...........顶:::::::::::顶8::::::::8:顶:::::::::::::::::::::::::顶:顶
...........顶::::::::::::888hole888顶:::::::::::::::::::::::::::顶:顶
...........顶:::::::::::::88888888顶:::::::::::::::::::::::::::顶:顶
...........顶::::::::::::::888888顶::::::::::::::::::::::::::::顶:顶
...........顶:::::::::::::::88888顶:::::::::::::::::::::::::::顶:顶
...........顶:::::::::::::::::88顶::::::::::::::::::::::::::::顶顶
...........顶:::::::::::::::::::顶:::::::::::::::::::::::::::顶顶
...........顶:::::::::::::::::::顶::::::::::::::::::::::::::顶顶
............顶:::::::::::::::::顶::::::::::::::::::::::::::顶顶
............顶:::::::::::::::::顶::::::::::::::::::::::::::顶
.............顶:::::::::::::::顶::::::::::::::::::::::::::顶
.............顶:::::::::::::::顶:::::::::::::::::::::::::顶
..............顶:::::::::::::顶:::::::::::::::::::::::::顶
..............顶:::::::::::::顶:::::::::::::::::::::::顶
...............顶:::::::::::顶:::::::::::::::::::::::顶
...............顶:::::::::::顶::::::::::::::::::::::顶
................顶:::::::::顶::::::::::::::::::::::顶
................顶:::::::::顶:::::::::::::::::::::顶
.................顶:::::::顶:::::::::::::::::::::顶
..................顶::::::顶::::::::::::::::::::顶
..................顶:::::顶::::::::::::::::::::顶
...................顶:::顶::::::::::::::::::::顶
...................顶::顶::::::::::::::::::::顶
....................顶:顶:::::::::::::::::::顶
....................顶顶:::::::::::::::::::顶
....................顶顶::::::::::::::::::顶
greatverve 2008-11-06
  • 打赏
  • 举报
回复
你说得,就是根据aspnetpager的页码范围,从数据库中读取需要的数据。
CREATE procedure Get_Product
(@startIndex int,
@endIndex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(*) AS Counts from Product
else
begin
declare @indextable table(id int identity(1,1),nid int)
set rowcount @endIndex
insert into @indextable(nid) select ID from Product order by ID desc
select * from Product O,@indextable t where O.ID=t.nid
and t.id between @startIndex and @endIndex order by t.id
end
set nocount off

GO
这个存储过程就是用来实现你说的功能的。
http://topic.csdn.net/u/20081025/09/1eaff677-7cb2-4a26-9c6d-cd9202932f06.html
chinawes 2008-11-06
  • 打赏
  • 举报
回复
用分页存储过程。
acol 2008-11-06
  • 打赏
  • 举报
回复
帮顶把

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧