ASP调用ACCESS怎样返回下一数据的ID?

我想在ASP页面加入分页,但是由于数据库用的比较乱,所以ID不是连续的。(比如说这行数据的ID=1,下一行的ID是3,因为ID=2的数据被删掉了),我用了DIMii=re... 我想在ASP页面加入分页,但是由于数据库用的比较乱,所以ID不是连续的。(比如说这行数据的ID=1,下一行的ID是3,因为ID=2的数据被删掉了),我用了DIM i i=request("id")来定位本页的ID,然后想用ahref="news.asp?id=<%=i+1%>来进入下一页,但是因为ID不是连续的所以有的时候就是空白页。

数据库如下:
ID TITLE WORDS
1 AAA BBB
3 BBB CCC
12 CCC DDD

如果我在asp?id=3这一页怎么样返回数据库里上一条和下一条数据的ID数字?
我不需要分页技术,我也不可能使用分页,因为ID不是相连的,我想知道的是除了重建数据库还有什么办法实现分页?!!!!!!
简单点说,我就是要提取出上一行和下一行数据的ID!!!!!
展开
 我来答
pebsi
2007-03-19 · TA获得超过618个赞
知道小有建树答主
回答量:555
采纳率:0%
帮助的人:424万
展开全部
这是一个非常简单的问题,但是上面的兄弟将问题复杂化了,

我的建议是:
如果你的记录是按ID从小到大排序的话,那么解决的办法是:

在调用时使用: ahref="news.asp?id=<%=i%> '注意不是i+1,是i
在你的news.asp程序中加入一个条件语句:

TargetID=request("id")
SQL="select top 1 * from 表名 where ID>" & TargetID & " Order By ID"
这样你取得的记录就是紧临的下一条了
……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laocui172
2007-03-19 · TA获得超过1754个赞
知道小有建树答主
回答量:1957
采纳率:0%
帮助的人:906万
展开全部
一个sql语句就可以让你的id连续:"select * from 表名 Order By ID"
你不是想知道上一行和下一行的id吗 ?
那就 再设2个变量一起传到下一页ahref="news.asp?id=<%=i%> & PreviousId=<%=i-1%> & NextId=<%i+1%>
(PreviousId表示上一行id,nextid表示下一行id)
这样想是不是很简单呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zz99zz9
2007-03-19 · 超过23用户采纳过TA的回答
知道答主
回答量:190
采纳率:0%
帮助的人:61.2万
展开全部
我也遇过这样的问题.实现起来比较麻烦..我把我的代码copy给你看,主要看SQL.应该很好理解.不懂还可以M我.QQ5789243教到你懂.散分给我就行.
<%
id1 = request("id")
exec1 = "SELECT TOP 1 * FROM bmm WHERE id < "&id1&" ORDER BY id DESC"
set rs1=server.createobject("adodb.recordset")
rs1.open exec1,conn,1,1
response.write "<li>上一位学员: "
if Not rs1.eof then
response.write "<a href="
response.write "ck.asp?id="
response.write rs1("id")
response.write ">"

response.write rs1("name")

response.write "</a>"
else
response.write "没有上一位了"

end if
rs1.Close
set exec1=Nothing
%>
//下一页
<%
id2 = request("id")
exec2 = "SELECT TOP 1 * FROM bmm WHERE id > "&id2
set rs2=server.createobject("adodb.recordset")
rs2.open exec2,conn,1,1
response.write "<li>下一位学员: "
if Not rs2.eof then
response.write "<a href="
response.write "ck.asp?id="
response.write rs2("id")
response.write ">"

response.write rs2("name")

response.write "</a>"
else
response.write "没有下一位了"
end if
rs2.Close
set exec2=Nothing
%>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友62725ad
2007-03-19 · TA获得超过856个赞
知道大有可为答主
回答量:1530
采纳率:0%
帮助的人:522万
展开全部
rs.recordcount方法可以返回读取的字段数量 。

另外,如果你分页,肯定 会事先设定好每页的分页数量吧?
比方说每页20条。
perpage=20
page=request.querystring("currentpage") '从浏览器端返回页数
rs.moveto (page*(perpage-1)+1) ‘把字段指针移到当前页的第一条
for i=0 to 19
response.write(......) '输出你想要的东西
rs.movenext
next

你的,明白?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dafei0904
2007-03-19 · TA获得超过1192个赞
知道答主
回答量:234
采纳率:0%
帮助的人:136万
展开全部
这问题是个问题,但我没遇到过,分页技术应该不是只可以用数据库里面的ID,你可以写一个分页函数来解决这个问题,建议您换个思路,这种思路不好行啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式