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