网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [asp.net] 类似新闻的前一页,后一页功能(就是取三条数据)
史蒂芬
TW中级会员
Rank: 3Rank: 3


UID 117308
精华 3
积分 220
帖子 131
阅读权限 30
注册 2007-3-28
状态 离线
发表于 2008-8-28 11:16 资料 短消息 加为好友
类似新闻的前一页,后一页功能(就是取三条数据)

现在页面上要呈现的是如下格式,: -O1i"W)A't-M.\3T8r!?
A.aspx:
4g3r6W9Y3T1.  First Item      2008-08-08 tech.techweb.com.cn(L+t+K6y E.e9s-m
2.  Second Item      2008-08-08 /H3t%D.`*`+q0L0~+B n
3.  Third Item      2008-08-08 0B%N*|2m8s(i(^9i
4.  Fourth Item      2008-08-08
$S6D0`:[4V,|2n当我点击Second Item 的时候,到 B 页面: 8S:v }"O$e5]:C5T)o P
B..aspx?itemid=2
%~3n1^&I0N!@0U8N程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛Frist Item < <Pre      Next>>Third Item tech.techweb.com.cn0_'h+a9_*Y$@3R.W
        Second Item
4K,x-U)\6N)ntech.techweb.com.cnXXXXXXXXXXXXXXXXXX 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛![2y9c+a*p*G
XXXXXXXXXXXXXXXXXX
$|$`'o7m3h6Stech.techweb.com.cn================
,c4r$m'u#p9G(|,m"N B%^1QItemID是不连续的,就是传一个ID进去, 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛%a&g0H!].}$~&Y9n9V
取一个分页数据 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#@9g'U1i*W
要求是取当前条和它的前一条和后一条
3w;F%l5O%s+M程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛本人存储过程很烂,没有写出来
3L%K'f/G.Z&F0B/y+Z希望高人给贴一个

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:13
Select top 3  *  from  tableName where ID >= ID -1  order by id

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:13
我说过ID 是不连续的啊
恐怕简单的sql 语句是实现不了的

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
用DetailsView控件就可以实现了,也不要编写代码

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
HTML code
<asp:HyperLink ID="hlPre" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Item名字").ToString() %>' NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "要传的ID","B.aspx?itemid={0}")%>'></asp:HyperLink>




SQL code
Select top 1  *  from  tableName where ID <= ID -1  order by id DESC



这是“上一页”的 显示,和URL绑定
下一页差不多
楼主再自己添加首尾判断
不知道是否满足楼主要求

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
再举个例子吧
数据表
ID      Title
1      XXXXX
4      XXXXXX
13      XXXXX
24      XXXXXX
54      XXXXXX
66      XXXXXXX

现在我传入 13 要返回的是 4,13,24
我传入 24 的话,需要 13,24,54

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
取 数据的前一个 。和后一个。。。
饿。。帮顶。。
我很好奇这个SQL 语句

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
可以这样理解吗?
传入13
搜索出
1~所有比13小的ID中的最大的ID
2~所有比13大的ID中的最小的ID

或者就像楼上所说的那样,加个IDENTITY字段
IDENTITY          ID      Title
1                1      XXXXX
2                4      XXXXXX
3                13      XXXXX
4                24      XXXXXX
5                54      XXXXXX
6                66      XXXXXXX

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:18
也不是
是 根据我的排序后紧邻 ID 为 13 的前一条和后一条数据
ID 就是主键,是 IDENTITY的
数据库不可更改了,所以不要说再加什么列了

引用 回复 顶部
游客
未注册









发表于 2008-9-16 14:19
我说下思路。。虽然 方法苯。。

先排序 查询一次。。。
然后 取 参数。。。。然后 取比参数小的ID中最大的。。。。
在取。。比参数大的 ID 最小的。。。
select  MAX  from 表  where  ID < 参数。。
大概是这个意思。。。
呵呵 感觉好麻烦。。

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 08:58
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.026677 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP