第一页由于没有传入page,request.querystring("page")为空,rs.absolutepage="",所以出错.正确的做法是做一下判断:
dim c_page
if request.querystring("page")="" then
c_page=1
else
c_page=cint(request.querystring("page"))
end if
另外c_page的值不能小于1,不能大于rs.pagecount:
if c_page<1 then c_page=1
if c_page>rs.pagecount then c_page=rs.pagecount
to tripofdream:我改了那句。可又出现其它的错误:说是adodb.recordset错误。错在打问号的那行。代码如下:
<%
const intpagesize=15
dim pages
set cn=server.createobject("adodb.connection")
cn.open "dsn=customer0"
sql="select * from gb"
set rs=cn.execute(sql)
rs.pagesize=intpagesize
pages=rs.pagecount
%>
<html>
.
.
.
<%
dim i
rs.absolutepage=request.querystring("page")
for i=1 to intpagesize?????????????????
if rs.eof then
exit for
end if
%>
.
.
昵称:<%=rs("name")%>
E-mail:<%=rs("email")%>
个人主页:<%=rs("homepage")%>
留言:<%=rs("say")%>
.
.
.
<%
rs.movenext
next
cn.close
%>
<%
dim p
if pages<0 then
pages=1
end if
for p=1 to pages
response.write "<a href='link/gb.asp?page="&p&"'>"&"["&p&"]"&"</a>"
next
%>
</body>
</html>
to tripofdream:我的代码改为:
<%
const intpagesize=15
dim pages
set cn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.connection")
cn.open "dsn=customer0"
sql="select * from gb"
rs.open sql,cn,3,1
rs.pagesize=intpagesize????????????????????
pages=rs.pagecount
%>
调试时却说打句号的那句有错误。错在哪里呢????
错误应该是在你标识的那一行的上一行.
如果要分页显示,就不能使用execute方法来获得记录集,因为这种记录集使用的是向前游标(forward only),不能使用pageCount,absolutePage等属性;而应该用open方法来打开记录集:
set cn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.connection")
cn.open "dsn=customer0"
sql="select * from gb"
rs.open sql,cn,3,1
<%
dim p
if pages<0 then
pages=1
end if
for p=1 to pages
response.write ("<a href="gb.asp?page='"&p&"'">"&"["&p&"]"&"</a>")??????????
next
%>
以上代码实现的是页面上那[1][2][3]并可点击到留言本的功能。调试时说打问号的那句有错误。请问是什么错误,如何改正?