Asp.NET 查询一条记录时,如何并查出上一条记录的ID,和下一条记录的ID

注:此文章为转载和原创

上一条记录的ID:(小于的最大值)  
  select   max(id)   from   ...   where   id<yourid  
  下一条记录的ID  
  select   min(id)   from   ....   where   Id>yourid  
   
  并在一起  
  select   ..,(select   max(id)   from   ...   where   id<yourid)   as   ..,(select   min(id)   from   ....   where   Id>yourid)   as   ..   from   ....  

当前文章显示界面只记录当前文章的ID即可.  
   
  比如当前显示文章ID为:5  
  在点击下一页时.传URL.  
  Response.Redirect("http://web/ReadArticle?ArticleID="+(ID+1).ToString());  
   
  ID+1后的值是否上溢或下溢,在ReadArticle页面初始化时判断即可  
 

 

CREATE   PROCEDURE   pTable2_getPN  
  @titleid   varchar(30)  
    AS  
  declare   @kind   varchar(30),@P   varchar(100),@Pid   varchar(30),@Ptitle   varchar(50),@N   varchar(100),@Nid   varchar(30),@Ntitle   varchar(50)  
  set   @kind=(select   top   1   kind   from   table2   where   id=@titleid)  
  select   top   1   @Ptitle=title,@Pid=id   from   table2   where   id<convert(int,@titleid)   and   kind=@kind   order   by   id   desc  
  select   top   1   @Ntitle=title,@Nid=id   from   table2   where   id>convert(int,@titleid)   and   kind=@kind   order   by   id    
  if   @Ptitle   is   null  
  set   @Ptitle=''  
  if   @Pid   is   null  
  set   @Pid=''  
  if   @Ntitle   is   null  
  set   @Ntitle=''  
  if   @Nid   is   null  
  set   @Nid=''  
  set   @P='<Li>上一篇   :<A   href="viewTitle.aspx?titleid='+@Pid+'">'+@Ptitle+'</A>'  
  set   @N='<Li>下一篇   :<A   href="viewTitle.aspx?titleid='+@Nid+'">'+@Ntitle+'</A>'  
  select   @P+'<br>'+@N   as   innerhtml  
  GO

select top 1 Id from table1 where id>yourid order by id asc

select top1 id from table1 where id<yourid order by id desc

自查询 select * from NewsTable a inner join (select max(id) as id2  from NewsTable where id<515) as b on a.id=b.id2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值