求一实现上下翻页的SQL语句

Lisen_1987 2009-03-23 11:09:36
需要实现的效果是这样的:就是上下翻页的效果,每次只显示一条数据;
就相当于...比如说这样一个页面显示列表信息,随意点击一条信息进入另一个页面显示他的详细信息,然后可以通过上下翻页来查看这一数据的上一条数据或下一条数据.
这样的情况要怎么实现?
...全文
194 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lisen_1987 2009-03-23
  • 打赏
  • 举报
回复
to bhtfg538:
晕,你说的这个是分页存储过程,我是知道的,看来我的问题没有说明白~~现在的情况是在不知道页码的前提啊~~怎么说呢,就是相当于某些小说网那样,整部小说的章节都显示出来,然后点击其中某一章进去阅读,当我们要阅读上一章节或下一章节的时候不用重新回到目录,而是通过上下按钮去翻页,是这样的效果,但是具体要怎么实现我就搞不清楚了
bhtfg538 2009-03-23
  • 打赏
  • 举报
回复
唉。。服了你

CREATE PROC dbo.Fuck
@PageIndex INT = 1,
@PageSize INT =10
AS
DECLARE @LowerBound INT
DECLARE @UpperBound INT
SET @LowerBound =@PageIndex *@PageSize
SET @UpperBound =(@PageIndex +1)*@PageSize

BEGIN
SELECT * FROM ( select *,row_number() over(order by id) rn from table) a where rn>@LowerBound and rn @UpperBound
END


然后 调用 分页可以通过URL,FORM =各种方式传递
bhtfg538 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Lisen_1987 的回复:]
to bhtfg538:
页码是不知道的,我只是通过列表中的数据有一个id值,通过传递id值在另一个页面查询出这条数据的详细内容,然后那个页面有上下翻页的按钮,可以通过这个去查看上一条数据或下一条数据的内容,显示在这同一个页面
[/Quote]

大哥 你真够白痴的 ,你不会 通过 url 发送嘛。我发给你的SQL 是个模板

你自己修改下,拜托不要那么懒惰。

你自己搞一个 存储过程传递页码进去不就好了
???
Lisen_1987 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 stayalive 的回复:]
上一条数据 Move=pre
下一条数据 Move=next

上一条数据(Move=pre):
SELECT top 1 * FROM where id>RequestID order by id
下一条数据(Move=next):
SELECT top 1 * FROM where id <RequestID order by id desc
[/Quote]
RequestID是当前那条数据的ID吗
Lisen_1987 2009-03-23
  • 打赏
  • 举报
回复
to bhtfg538:
页码是不知道的,我只是通过列表中的数据有一个id值,通过传递id值在另一个页面查询出这条数据的详细内容,然后那个页面有上下翻页的按钮,可以通过这个去查看上一条数据或下一条数据的内容,显示在这同一个页面
stayalive 2009-03-23
  • 打赏
  • 举报
回复
上一条数据 Move=pre
下一条数据 Move=next

上一条数据(Move=pre):
SELECT top 1 * FROM where id>RequestID order by id
下一条数据(Move=next):
SELECT top 1 * FROM where id<RequestID order by id desc


xiaohe185 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bhtfg538 的回复:]
SQL code

SELECT * FROM ( select *,row_number() over(order by id) rn from table) a where rn>页码×条数 and rn<(页码+1)×条数
[/Quote]
up
bhtfg538 2009-03-23
  • 打赏
  • 举报
回复


SELECT * FROM ( select *,row_number() over(order by id) rn from table) a where rn>页码×条数 and rn<(页码+1)×条数
hanyucq123 2009-03-23
  • 打赏
  • 举报
回复
提醒:一楼的代码要在sql2005里才能用哟
wuyq11 2009-03-23
  • 打赏
  • 举报
回复
@id INT
SELECT top 1 * FROM where id>@ID order by id
SELECT top 1 * FROM where id <@ID order by id desc
bao_yan 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Lisen_1987 的回复:]
引用 3 楼 stayalive 的回复:
上一条数据 Move=pre
下一条数据 Move=next

上一条数据(Move=pre):
SELECT top 1 * FROM where id>RequestID order by id
下一条数据(Move=next):
SELECT top 1 * FROM where id <RequestID order by id desc

RequestID是当前那条数据的ID吗
[/Quote]

他就是讲的你当前那条数据的ID.
但是你的数据列表中的数据必须是以这个ID排序的...

那样的话就按楼上的方法..简单又实用.
zzxap 2009-03-23
  • 打赏
  • 举报
回复

http://topic.csdn.net/u/20090113/16/cac6480c-84ff-4ae3-8fa1-11cfa39fd8ea.html

62,268

社区成员

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

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

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

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