asp 查询分页后第一页正常第二页显示无记录

<%sql="select*fromcallhistory3wherefrom_no='"&trim(request("from_no"))&"'orderbyidcal... <%
sql="select * from callhistory3 where from_no='"&trim(request("from_no"))&"' order by idcallhistory3 asc "
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,3,1
if rs.eof And rs.bof then '判断如果没有数据的话
Response.Write "<p align='center' class='contents'> 对不起,暂无通话记录!</p>"
else
rs.pagesize=30 '每页显示的数据
SafeRequest(request("page"))
page=clng(request("page"))
if page<1 then page=1 '如果当前页数小于 1 则页数等于 1,道理同下
if page>rs.pagecount then page=rs.pagecount '如果当前页数大于总页数,则当前页数等于总页数。
'例:一共有10页,但当前页数是100,此时当前页数大于总页数根本没有信息或者导致程序出错。
show rs,page
sub show(rs,page) '定义过程
rs.absolutepage=page
for i=1 to rs.pagesize
%>
<tr bgcolor="#FFFFFF" align="center">

<td><%=rs("from_no")%></td>
<td><%=rs("to_no")%></td>
<td><%=rs("answertime")%></td>
<td><%=rs("endtime")%></td>
<td><%=rs("duration")%></td>
<td><%=rs("rate")%></td>
<td><%=rs("totalcost")%></td>
</tr>
<%
rs.movenext
if rs.eof then exit for '如果数据到了最后一条跳出并结束循环
next
end sub '过程结束
%>
<tr bgcolor="#FFFFFF" align="center">
<form name="form" action="" method="get">
<td colspan="8">
<table width="600" class="xx" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="0" align="center">
<%
if page<>1 then
response.Write("  <a href="&path&"?page=1>第一页</a>")
response.Write("  <a href="&path&"?page="&(page-1)&" >上一页</a>")
end if
response.Write("  当前 <font color='#FF0000'>"&page&"</font> 页")
response.Write("  <font color='#FF0000'>"&rs.recordcount&"</font> 条/<font color='#FF0000'>"&rs.pagecount&"</font> 页")
if page<>rs.pagecount then
response.Write("  <a href="&path&"?page="&(page+1)&">下一页</a>")
response.Write("  <a href="&path&"?page="&rs.pagecount&">最末页</a>")
end if
response.Write("  跳转到<input type='text' size='2' name='page'>页<input type='submit' value='GO'>")
end if
rs.close
set rs=nothing
%>
2
展开
 我来答
贰两毛尖
推荐于2016-07-26 · TA获得超过862个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:884万
展开全部
好多人没注意这个,因为你第一页的时候trim(request("from_no"))会获取搜索表单的值,到第二页trim(request("from_no"))就没值了
解决办法:
第一种办法
获取from_no并复制给session 代码如下:
if(trim(request("from_no"))<>"") then
session("from_no")=trim(request("from_no"))
end if
sql="select * from callhistory3 where from_no='"&session("from_no")&"' order by idcallhistory3 asc "
下面代码不动
第二种办法
把trim(request("from_no"))的值加在“上一页”,“下一页”的连接上,这样加的地方比较多,建议用第一种办法
response.Write(" <a href="&path&"?page=1&from_no="&trim(request("from_no"))&">第一页</a>")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
472694416
2009-08-15 · TA获得超过6246个赞
知道小有建树答主
回答量:1204
采纳率:0%
帮助的人:732万
展开全部
rs.open sql,conn,3,1

recordset的锁类型错误了吧 1好像是只读

rs.open sql,conn,3,2
最起码也该这样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友951eff65a
2009-08-15 · TA获得超过401个赞
知道答主
回答量:655
采纳率:0%
帮助的人:0
展开全部
你看看是不是第一页刚好就把所有的记录都显示完了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式