注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小新之家

心灵的放松地点

 
 
 

日志

 
 

asp读取数据库翻页函数  

2009-10-23 16:04:23|  分类: 学习资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
<%
常用命令:
rs.movenext ’将记录指针从当前的位置向下移一行  
rs.moveprevious ’将记录指针从当前的位置向上移一行  
rs.movefirst ’将记录指针移到数据表第一行  
rs.movelast ’将记录指针移到数据表最后一行
currentpage ’第几页
rs.absoluteposition=N ’将记录指针移到数据表第N行  
rs.absolutepage=N ’将记录指针移到第N页的第一行  
rs.pagesize=N ’设置每页为N条记录  
rs.pagecount ’根据 pagesize 的设置返回总页数  
rs.recordcount ’返回记录总数  
rs.bof ’返回记录指针是否超出数据表首端,true表示是,false为否  
rs.eof ’返回记录指针是否超出数据表末端,true表示是,false为否  
rs.delete ’删除当前记录,但记录指针不会向下移动  
rs.addnew ’添加记录到数据表末端  
rs.update ’更新数据表记录
%>
有关分页显示的代码和注解
分页显示的代码和我的注解,不当之处请指正,另外有什么更好的分页的办法,麻烦贴一下。
<!--#include file="conn.asp"-->
<html>
<body bgcolor="#FFFFFF" text="#000000">
<table width="60%" border="1" align="center">
<%
dim sql
msg_per_page = 4 ’定义每页显示记录条数
sql = "select * from book order by time" ’改成你自己的SQL语句
rs.cursorlocation = 3 ’使用客户端游标,可以使效率提高
rs.pagesize = msg_per_page ’定义分页记录集每页显示记录数
rs.open sql,conn,0,1  
if err.number<>0 then ’错误处理
response.write "数据库操作失败:" & err.description
err.clear

else

   if not (rs.eof and rs.bof) then ’检测记录集是否为空
    totalrec = RS.RecordCount ’totalrec:总记录条数
    if rs.recordcount mod msg_per_page = 0 then  
      n = rs.recordcount\msg_per_page ’n:总页数 ’如果总页数/每页显示记录条数正好为整数
    else  
      n = rs.recordcount\msg_per_page+1 ’总页数/每页显示记录条数不为整数,表示有小于每页显示记录条数的数据出现,也应做为一页显示
    end if  
   currentpage = request("page") ’currentpage:当前页
     ’以下防止在浏缆器中直接输入错误参数
If currentpage <> "" then
   currentpage = cint(currentpage)’小数->整数

   if currentpage < 1 then ’小于1的数
    currentpage = 1
   end if  


   if err.number <> 0 then  
   err.clear
   currentpage = 1
   end if

else

   currentpage = 1
End if

if currentpage*msg_per_page > totalrec and not((currentpage-1)*msg_per_page < totalrec)then ’大于总页数
currentPage=1
end if


rs.absolutepage = currentpage ’设置指针指向某页开头
rowcount = rs.pagesize ’设置每一页的数据记录数
dim i
dim k
%>
<tr align="center" valign="middle">  
<td width="50%">e-mail</td>
<td width="50%">name</td>
</tr>
<%do while not rs.eof and rowcount > 0   ’用rowcount定义循环次数即每一页的数据记录数%>                  
<tr align="center" valign="middle">
<td width="25%"><%=rs("e-mail")%></td>
<td width="25%"><%=rs("name")%></td>
</tr>
<%
rowcount=rowcount-1
rs.MoveNext
loop
end if
end if
rs.close
set rs=nothing
%>
</table>


<table border="5" align="center">
<tr><td align="center" valign="middle">  
<%call listPages()%>
</td></tr>
</table>
</body>
</html>
<%
sub listPages()  
if n <= 1 then exit sub   ’只有一页
%>

<p><span /><%’第一页时%>
<%if currentpage = 1 then ’第一页%>
<font color=darkgray face="arial" >第一页 前一页</font>
<%else%>  
<%’第一页至最后页时%>
<font color=black face="arial">
<a href="<%=request.ServerVariables("script_name")%>?page=1">Top</font></a>
<a href="<%=request.ServerVariables("script_name")%>?page=<%=currentpage-1%>"><font color=black face="arial" >前一页</a></font>
<%end if%>
<%’最后页时%>
<%if currentpage = n then%>  
<font color=darkgray face="arial" >下一页最后页</font>
<%else%>
<%’第一页至最后页时%>
<font color=black face="arial" >
<a href="<%=request.ServerVariables("script_name")%>?page=<%=currentpage+1%>">下一页</a>
<a href="<%=request.ServerVariables("script_name")%>?page=<%=n%>">最后页</a></font>
<%end if%>

<font color=black face="arial" >
Page:<%=currentpage%>/<%=n%>页<%=msg_per_page%>条/页    Total:<%=totalrec%>条</font></span></p>
<%end sub%> 
  评论这张
 
阅读(143)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017