大家好,欢迎来到IT知识分享网。
在做应用程序的时候,经常会遇到需要实现上一条、下一条的功能,例如,一个CS的项目中,首先有一个列表窗体,选中列表中的一项后点击“编辑”按钮,会进入到一个编辑窗体,在这个窗体上有可以需要使用上一条、下一条这样的功能,那么如何来实现它呢?
思路:其实可以把它看成一种分页,只不过这种分页是一页一条而已。另外,还需要有一个定位,即当前是哪一条记录。解决办法其实只需要加一个where条件即可。请看下面的语句:
上一条:
select top 1 * from t_subject where subID not in
(select top 1 subid from t_subject where subid=102 order by subid ) order by subid
下一条:(反向排序即可)
select top 1 * from t_subject where subID not in
(select top 1 subid from t_subject where subid=102 order by subid desc ) order by subid desc
注:1. 其中的102表示的是当前的记录,实际使用时可以通过传参实现。
2. 分页方法有很多种,可以使用其他的分页实现方法。
另一种思路(哈哈,觉得有点笨):如果表中有一个连续的标识列字段,那么每次取的时候就可以直接将ID+1或ID-1了。但是,即使表中有标识列,也不可能保证编号是连续的,怎么办呢?可以创建一个临时表,表中除了包含原来表中的内容外,再使用IDENTITY()函数为其添加一个标识列,这样应该就OK了。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30532.html