简单分页问题!

oym 2003-11-11 08:06:30
<%
strpage=request.querystring("page")
if len(strpage)=0 then
strpage="1"
end if

dim conn
dim MM_tz_STRING
MM_tz_STRING="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open MM_tz_STRING
set rs=server.createobject("adodb.recordset")
rs.cursorlocation=3
sql="select * from subs"
rs.open sql,conn
if rs.eof then
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "没有记录"
response.end
end if
rs.pagesize=5
rs.absolutepage=cint(strpage)
select_count=rs.recordcount
select_pagecount=rs.pagecount
response.write "共<b>"&select_pagecount&"</b>页<b>"&select_count&"</b>条记录,本页是第<b>"&strpage&"</b>页."
if int(strpage)>1 then
response.write " <a href='subsshow.asp?page="&cstr(cint(strpage)-1)&"'>上一页</a>"
end if
if int(strpage)<select_pagecount then
response.write " <a href='subsshow.asp?page="&cstr(cint(strpage)+1)&"'>下一页</a>"
end if
response.write "<br>"
for i=1 to rs.pagesize
if rs.eof then
exit for
end if
%>
<div align="center">
<form name="form2" method="post" action="">
<p>
<input name="page" type="text" id="page" size="8">
<input type="submit" name="Submit4" value="Submit">
</p>
<p>  </p>
</form>
</div></td>
</tr>
<% do while not rs.eof %>
<tr>
<td height="72"><%=rs("subs")%></td>
<td><%=rs("area")%></td>
<td><%=rs("bigarea")%></td>
<td><%=rs("subsnumber")%></td>
<td><%=rs("subsname")%></td>
</tr>
<%
rs.movenext
loop
next
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
不知道哪里出错了,第一页都显示数据中所以的数据,其他的都正常,好像pagesize乱掉了
...全文
60 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueice2002 2003-11-12
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
itbear 2003-11-12
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<TITLE> ◇首页◇ </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<table width="60%" border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#006D91" align="center">

<tr bgColor="#E2F1A6" align="center">
<%for i=0 to rs.Fields.Count-1%>
<td width="50%"><%=rs.Fields(i).name%></td>
<%next%>
</tr>
<%'-------以上部分在同一行显示表头,即字段名%>

<%if rs.eof=false then
for i=1 to rs.PageSize%>
<tr bgColor='#EFEFEF' align="center" width="50%" onmouseover="this.borderColor='#486841';this.style.borderColor='#486841';this.style.backgroundColor='#E2F1A6'" onmouseout="this.borderColor='#006D91';this.style.borderColor='#006D91';this.style.backgroundColor='#EFEFEF'">
<%for j=0 to rs.Fields.Count-1%>
<td><%=rs.Fields(j).value%></td>
<%next%>
</tr>
<%rs.movenext%>
<%if rs.eof then exit for '----防止记录数<rs.PageSize时出错%>
<%next
else
%>
<tr bgColor='#EFEFEF' align="center" onmouseover="this.borderColor='#486841';this.style.borderColor='#486841';this.style.backgroundColor='#E2F1A6'" onmouseout="this.borderColor='#006D91';this.style.borderColor='#006D91';this.style.backgroundColor='#EFEFEF'">
<td><%response.write("没有记录!")%></td>
</tr>
<%end if%>
</table>
<%'-------以上部分显示表的内容%>

<%'---------导航条%>
<table width=60% align="center">
<tr align="center">
<td>
<%if page<>1 then%>
<a href=default.asp?page=1>首页</a>
<%else%>首页<%end if%>
</td>
<td>
<%if page>1 then%>
<a href=default.asp?page=<%=page-1%>>上一页</a>
<%else%>上一页<%end if%>
</td>
<td>
<%if page<rs.PageCount then%>
<a href=default.asp?page=<%=page+1%>>下一页</a>
<%else%>下一页<%end if%>
</td>
<td>
<%if page<>rs.PageCount then%>
<a href=default.asp?page=<%=rs.PageCount%>>尾页</a>
<%else%>尾页<%end if%>
</td>
<%'-------以上四项都需要进行判断:如果在第一页就不提供“第一页”和“前一页”的链接
'-------如果在最后一页就不提供“最后一页”和“后一页”的链接
'提供页码直接跳转操作界面%>
<td>
<form method="POST" action="default.asp?page=<%=page+1%>" onSubmit="vbscript:msgbox(txtpage.value)">
转到第<input type="text" name="txtpage" size="2" value="<%=page%>">页
</form>
</td>
<%'-------因为表单只有一个表单域,所以没有提供发送按钮,直接打回车就行了%>
<td>
第<font color="red"><%=page%></font>页/共<font color="blue"><%=rs.PageCount%></font>页
</td>

</tr>
</table>
<table width="60%" align="center">
<tr align="center">
<td><input type="button" value="关闭窗口" onclick="javascript:window.close()" style="BACKGROUND-COLOR: #f9f9f9; FONT-SIZE: 10pt; TEXT-ALIGN: center; VERTICAL-ALIGN: middle; width:45pt; height:14pt;BORDER:#006D91 1px solid;cursor: hand;"></input></td>
</tr>
</table>
<%
rs.close
set rs=nothing
'if conn.state then
conn.close
'end if
set conn=nothing

%>
</BODY>
</HTML>
lk_cool 2003-11-12
  • 打赏
  • 举报
回复
你在
rs.close
set rs=nothing

conn.close
set conn=nthing 后

再用rs此时rs没有内容
怎么用?

应该在所有操作完成后再用
conn.close
set conn=nothing
lk_cool 2003-11-12
  • 打赏
  • 举报
回复
rs.open sql ,conn,3,2也可以
minghui000 2003-11-12
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
dafei0320 2003-11-11
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
IamScout 2003-11-11
  • 打赏
  • 举报
回复
记录集打开方式不对,参数设置要支持分页。查一下recordset的open参数吧。你会明白很多的。
nssp 2003-11-11
  • 打赏
  • 举报
回复
数据表中要设置主键
另外,用这句打开数据集试试
rs.open sql,conn,1,1

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧