«
Web开发中用sql语句完成分页的特效方法

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  这篇文章以jsp/asp为例,简要介绍了Web开发中一种用sql语句完成分页的高效率方法。</p><p>  一、Jsp方法如下:</p><code>**********************<br /><%@ page language=java import=java.util.*,java.sql.* %><br /><%@ page contentType=text/html;charset=gb2312%><br /><jsp:useBean id=cn scope=page class=myConnection.Conn /><br /><!--引用数据库操作的bean,自己完成,这里不再赘述--><br /><%<br />int curpage=1;//当前页<br />int page_record=20;//每页显示的记录数<br />//用下面的方法(sql查询完成,速度快)<br />curpage=Integer.parseInt(request.getParameter(page));<br />//获取传递的值,需要显示的页<br />ResultSet rs=cn.rsexecuteQuery<br />(select top +page_record+ * from<br />tablename where id not in<br />(select top +(curpage*page_record)+ id from<br />tablename order by id desc) order by id desc);<br />//本查询语句得到的是所要显示的1000页的20条记录,<br />大致思路为――子查询排除需要显示的记录前的所有记录,<br />父查询则对余下的记录进行降序排列<br />while(rs.next) {<br /> out.println(rs.getInt(id).toString());<br />}<br />rs.close();<br />%></code></p><p>  二、asp中的方法</p><code>*******************<br /><%@ LANGUAGE=VBSCRIPT CODEPAGE=936%><br /><%<br />dim curpage=1'当前页<br />dim page_record=20'每页显示的记录数<br />curpage=request(page)'获取传递的值,需要显示的页<br />……'连接数据库操作代码省略<br />rs.open select top +page_record+ * from<br />tablename where id not in (select top +<br />(curpage*page_record)+ id from tablename<br />order by id desc) order by id desc,conn,1,3<br />'本查询语句得到的是所要显示的1000页的20条记录,<br />大致思路为――子查询排除需要显示的记录前的所有记录,<br />父查询则对余下的记录进行降序排列<br />while not rs.eof<br />response.write rs(id)<br />rs.movenext<br />wend<br />rs.close<br />conn.close<br />%><br />*********************</code></p><p>  感谢阅读,希望本文对你有帮助。</p>