asp分页的一个问题

小弟近日遇到了这样的一个问题:我做了一个分页,明明设置的是每页显示30条记录,为什么却不是30条,而是有多少显示多少!请高手指教代码如下;<%dimpagepage=re... 小弟近日遇到了这样的一个问题:我做了一个分页,明明设置的是每页显示30条记录,为什么却不是30条,而是有多少显示多少!
请高手指教
代码如下;
<%
dim page
page=request("page")
PageSize = 30
set Conn=Server.Createobject("adodb.connection")
DBPath = Server.MapPath("yy.mdb")
Conn.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath
set rs=server.createobject("adodb.recordset")
sql="select * from scyy order by id desc"
rs.open sql,conn,3,3
rs.PageSize=PageSize
jlzs=rs.recordcount
zys=rs.Pagecount
if page="" or clng(page)<1 then page=1
if clng(page) > zys then page=zys
if zys>0 then rs.AbsolutePage=page
%>
……
<td><%=rs("mc")%></td>
……
<p>[<b><font color=red><%=page%></font></b>/<%=rs.pagecount%>页] [共<%=jlzs%>首歌]
<%if page=1 then%> [首
页] [上一页] <% else %> [<a href="index.asp?page=1">首 页</a>][<a href="index.asp?page=<%=page-1%>">上一页</a>]<%end if%><%if rs.pagecount-page<1 then%>
[下一页] [尾 页] <%else%> [<a href="index.asp?page=<%=page+1%>">下一页</a>] [<a href="index.asp?page=<%=rs.pagecount%>">尾
页</a>] <%end if%></p>
请问这段代码哪里出现了错误!
展开
 我来答
jester
推荐于2016-04-27 · 超过67用户采纳过TA的回答
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:229万
展开全部
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Jester分页程序</title>
</head>

<body>
<%
On Error Resume Next '容错处理
'****************** Jester_asp菜鸟教程(删除)****************************
if request.querystring("action")="del" then '定义?action=del时运行下面的程序
conn.execute "delete from [game_dan] where id="&request("id")
response.write"删除成功"
response.end() '结束以下的所有内容
end if
%>
<table width="100%" cellspacing="1" border="0" cellspacing="5" cellpadding="0" bgcolor=#CCCCCC>
<%
'****************** Jester_asp菜鸟教程(分页)****************************
dim pgsz,sql,total,now_page,pagerecordcount,record_yes_no
dim rs
pgsz=5 '定义每页显示20条记录
set rs=server.CreateObject("adodb.recordset") '创建记录集
sql="select * from [game_dan] order by id desc" '查询所有记录在[news]表中,以ID降序排列
rs.open sql,conn,3,3 '打开数据
pagerecordcount=rs.recordcount '定义pagerecordcount为所有记录的总数
if pagerecordcount=0 then '当数据库没有数据时
record_yes_no=1
else '相反有数据时则运行以下程序
rs.pagesize=cint(pgsz) '对象逻辑划分为一系列的页,每页的记录数等于 PageSize(最后页除外,该页记录数较少)
total=cint(pagerecordcount / pgsz *-1)*-1 '得到页面总数
now_page=int(request.querystring("page")) '当前页数等于 page得到的页面 如 page=1
if now_page="" then '当page等于空或小于1时,则显示第一页
now_page=1 '设置页数为1
end if '结束page为空或小于1的条件
if now_page>total then '当前页数大于总页数时则显示最后一页
now_page=total '设置页数为最后一页
end if '结束page大于总页数的条件
if now_page>1 then
page_u="- <a href=?page=1>顶页</a> - <a href=?page="&int(now_page)-1&">上页</a> - "
else
page_u="<span class='font-size:12px'> - 顶页 - 上页</span> - "
end if
if now_page<Total then
page_d="<a href=?page="&int(now_page)+1&">下页</a> - <a href=?page="&Total&">未页</a> -"
else
page_d="<span class='font-size:12px'>下页 - 未页 -</span>"
page_show=now_page&"/"&total&" 共"&pagerecordcount&"条信息"&page_u&page_d'定义底部显示上页下页
end if
end if
if record_yes_no=1 then '当没有数据时
response.write "没有数据!"
else
RS.AbsolutePage = now_page '识别当前记录所在的页码
RowCount = RS.PageSize '同pgsz一样
Do While Not RS.EOF and RowCount > 0 '循环数据库
i=i+1 '循环i 第一次为1循环两次就在前一次上面加上1
%>
<tr height=25 bgcolor="<%if (i mod 2)=1 then '当i除以2为奇数时%>#EFEFEF<%else%>#FFFFFF<%end if%>">
<td><a href="show.asp?id=<%=rs("id")%>" target="_blank">aaaa</a> </td><td><a href=?action=del&id=<%=rs("id")%>&date=<%=now()%>>删除</a></td>
</tr>
<%rowcount=rowcount-1 '下一页时减去本页的一系列页
rs.movenext '移到下一条
loop '循环
end if
rs.close '关闭记录
conn.close '关闭数据库
set rs=nothing '释放rs这个对象
set conn=nothing'释放conn这个对象
%>
<tr height=25>
<td>当前页: <%=page_show%> </td>
</tr>
</table>
</body>
</html>
夜光梧桐
2007-03-03
知道答主
回答量:31
采纳率:0%
帮助的人:19.2万
展开全部
自己进行调试 这样会有更多的收获~~~~

你用
response.write(page)
response.end
来进行调试~~

或者
response.write(sql)
response.end
看是不是哪里没有获取到值``````
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yu_呼吸
2007-03-03 · 超过20用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
……
<td><%=rs("mc")%></td>
……
改为:
howmanyrecords=0
do while not rs.eof and howmanyrecords<rs.pagesize
……
<td><%=rs("mc")%></td>
……
rs.movenext
howmanyrecords=howmanyrecords+1
loop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式