请教高手关于asp分页浏览的问题,我不知道我的程序错在那里?
aming 2002-07-11 01:23:32 test.asp
<!--#include file="Rs2Tab.asp" -->
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<b>
<b>
<b>
<p align="center"><font size="10">asp page brows</font></p>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "newphs","sa",""
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
sql="select * from raiu_info"
response.write sql
cmd.CommandText = sql
Set rs= cmd.Execute
'RsToTable1 rs,""
'调用showlist来分页显示结果
showlist rs
conn.close
%>
<p> </p>
<p> </p>
</body>
</html>
以下是rs2tab.asp 的内容
<%
Sub showlist(rs)
'显示标题===================================================================================
Response.Write "<TABLE BORDER=0 width=800>"
Response.Write "<TR BGCOLOR=#C1EBFF>"
For i=0 to rs.Fields.Count-1
Response.WRITE "<TD bgcolor='#0080C0' height='22'><font color='#ffffff'>" & rs.Fields(i).Name & "</font></TD>"
Next
Response.Write "</TR>"
'如果数据库中没有数据的情况
if rs.eof and rs.bof then str="此留言簿还没有一个留言!" end if
'分页设置----------------------------------------------------------------------------------
if str="" then
rs.PageSize=5
pages=rs.pagecount
records=rs.recordcount
response.write records
currentpage=request("currentpage")
else
currentpage=1
records=0
pages=1
end if
if currentpage="" or currentpage<"1" then currentpage="1"
currentpage=cint(currentpage)
if currentpage>pages then
currentpage=pages
' response.write pages
rs.absolutepage=pages
end if
'分页设置-----------------------------------------------------------------------------------
'显示具体记录===============================================================================
linenumber=rs.pagesize
LINE=1
DO WHILE (NOT RS.EOF) AND (Line<=linenumber)
RESPONSE.WRITE "<TR bgcolor='#e7f3ff' align='center'>"
For i=0 to rs.Fields.Count-1
RESPONSE.WRITE "<td width='"&tdwidth&"' style='border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-style: solid; border-bottom-width: 1' bordercolor='#FFFFFF' height='12'><font size='3' color='#333399'>"&RS.FIELDS(I).VALUE&"</font></td>"
NEXT
RESPONSE.WRITE "</TR>"
RS.MOVENEXT
LINE=LINE+1
LOOP
RESPONSE.WRITE "</TABLE>"
End Sub
%>
<html>
<head>
</head>
<body>
</body>
</html>
如果把rs.absolutepage=pages语句去掉,则cs_test.asp可以执行显示出第一页的结果,但如果加上去就会提示该语句出错,把rs.absolutepage=pages改成rs.absolutepage=1仍然出错,是否我该属性用法错了.如果把pages和recordcount打印出来,就会发现他们的值都是-1,而事实上我所查询的表记录不止50条.那位大虾告诉我那里错了!