asp分页最后一页无法显示?

2024-12-02 06:42:00
推荐回答(2个)
回答1:

&zhuanye=<%=rs("zhuanye")%>"><%=i%>
这里有问题。在最后1页的情况下。你上边while loop循环已经把指针移动到rs.eof。这时候你再去取rs("suozaidi")值就会溢出。
不知道你为什么要取某条记录的这2个字段值。如果是搜素条件的话应该通过request取。或者你在loop里边先赋值给新变量然后最后再输出。

回答2:

<%
dim conn
set conn = server.createobject("adodb.connection")
conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath("price.mdb")
conn.open
'链接数据库,并打开
%>
<%
dim rs
set rs = server.createobject("adodb.recordset")
rs.open "零件报价表",conn,1,1
'rs.pagesizes每页显示条数 首先必须设置每页多少条 在此出错过一次,显示无效字符可能是空格的原因
'pagecount返回的是总数据除以上面每页显示的条数得到的总页面数
'absolutepage 设置特定的页面为首页,默认为第一页

'response.write rs.pagecount&"
"
'我来接受页码
'如果page 值为空,则当前页面为第一页
'接受到的值为如不为整型,必须转换成整数比较 cint(接受) 转后可以进行比较 对于小数点式的直cint采用四舍5入,列若page 值为1.2则还为显示第一页 列

若page 值为1.5 则显示为第2页
'先判断接受到的值是否为字符串,如果是的话,就rs.absolutepage = 1就设定为第一页 如果不是再判断是否是空,是否小于1,大于最大的页码
'isnumeric(接受) 判断括号内接受的值是否为数字,如若是数字则执行.下面的代码,若不为数字,则执行页面为第一页看清楚IF循环他们是可以对应起来的,嵌套


rs.pagesize = 8
if isnumeric(request.querystring("page")) then
if request.querystring("page")="" or cint(request.querystring("page")) < 1 then
rs.absolutepage = 1
elseif cint(request.querystring("page")) > rs.pagecount then'这里内嵌的IF循环一定要和else 写在连在一起,不然还要写个end if
rs.absolutepage = rs.pagecount
else
rs.absolutepage = request.querystring("page")
end if
else
rs.absolutepage = 1
end if
%>



数据库分页技术




一共有<%=rs.recordcount%>条数据




<%for i=1 to rs.pagecount

response.write ""&i&"|"
next
%>




零件种类
<%for i = 1 to rs.pagesize'使用的是for 循环
if rs.eof then exit for
%>



<%

rs.movenext'读取数据库向下读取

next
%>

编号厂家规格价格报价日期
<%=rs("编号")%><%=rs("零件种类")%><%=rs("厂家")%><%=rs("规格")%><%=rs("价格")%><%=rs("报价日期")%>




<%
rs.close
set rs = nothing
conn.close
set conn = nothing
%>

注释写的很清楚.你慢慢看吧.我相信应该能看懂```