`
cary1130
  • 浏览: 197463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP 分页显示[转]

    博客分类:
  • java
阅读更多
java 代码
  1. <%@ page contentType="text/html;charset=gb2312" %>   
  2. <%@ page language="java" import="java.sql.*" %>   
  3.   
  4. <script language="javascript">   
  5. function newwin(url) {   
  6. var    
  7.   
  8. newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,  
  9.  
  10. menubar=no,scrollbars=yes,resizable=yes,width=600,height=450");   
  11. newwin.focus();   
  12. return false;   
  13. }   
  14. </script>   
  15. <script LANGUAGE="javascript">   
  16. function submit10()   
  17. {   
  18. self.location.replace("fenye1.jsp")   
  19. }   
  20. </script>   
  21. <%//变量声明   
  22. java.sql.Connection sqlCon; //数据库连接对象   
  23. java.sql.Statement sqlStmt; //SQL语句对象   
  24. java.sql.ResultSet sqlRst; //结果集对象   
  25. java.lang.String strCon; //数据库连接字符串   
  26. java.lang.String strSQL; //SQL语句   
  27. int intPageSize; //一页显示的记录数   
  28. int intRowCount; //记录总数   
  29. int intPageCount; //总页数   
  30. int intPage; //待显示页码   
  31. java.lang.String strPage;   
  32. int i;   
  33. //设置一页显示的记录数   
  34. intPageSize = 4;   
  35. //取得待显示页码   
  36. strPage = request.getParameter("page");   
  37. if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据   
  38. intPage = 1;   
  39. }   
  40. else{//将字符串转换成整型   
  41. intPage = java.lang.Integer.parseInt(strPage);   
  42. if(intPage<1) intPage = 1;   
  43. }   
  44. //装载JDBC驱动程序   
  45. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
  46. //设置数据库连接字符串   
  47. strCon = "jdbc:odbc:heyang";   
  48. //连接数据库   
  49. sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");   
  50. //创建一个可以滚动的只读的SQL语句对象   
  51. sqlStmt =    
  52.   
  53. sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.Result   
  54.   
  55. Set.CONCUR_READ_ONLY);//准备SQL语句   
  56. strSQL = "select user_id,user_name from userinfo order by user_id desc";   
  57. //执行SQL语句并获取结果集   
  58. sqlRst = sqlStmt.executeQuery(strSQL);   
  59. //获取记录总数   
  60. sqlRst.last();//??光标在最后一行   
  61. intRowCount = sqlRst.getRow();//获得当前行号   
  62. //记算总页数   
  63. intPageCount = (intRowCount+intPageSize-1) / intPageSize;   
  64. //调整待显示的页码   
  65. if(intPage>intPageCount) intPage = intPageCount;   
  66. %>   
  67. <html>   
  68. <head>   
  69. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
  70. <title>会员管理</title>   
  71. </head>   
  72. <body>   
  73. <form method="POST" action="fenye1.jsp">   
  74. 第<%=intPage%>页  共<%=intPageCount%>页   
  75.   
  76.   <%if(intPage<intPageCount){%><a    
  77.   
  78. href="fenye1.jsp?page=<%=intPage+1%>">下一页   
  79.   
  80. </a><%}%>  <%if(intPage>1){%><a href="fenye1.jsp?page=<%=intPage-1%>">   
  81.   
  82. 上一页</a><%}%>   
  83. 转到第:<input type="text" name="page" size="8"> 页   
  84. <span><input class=buttonface type=´submit´ value=´GO´ name=´cndok´></span>   
  85. </form>   
  86. <table border="1" cellspacing="0" cellpadding="0">   
  87. <tr>   
  88. <th>ID</th>   
  89. <th>用户名</th>   
  90. <th width=´8%´>删除</th>   
  91. </tr>   
  92. <%   
  93. if(intPageCount>0){   
  94. //将记录指针定位到待显示页的第一条记录上   
  95. sqlRst.absolute((intPage-1) * intPageSize + 1);   
  96. //显示数据   
  97. i = 0;   
  98. String user_id,user_name;   
  99. while(i<intPageSize && !sqlRst.isAfterLast()){   
  100. user_id=sqlRst.getString(1);   
  101. user_name=sqlRst.getString(2);   
  102. %>   
  103. <tr>   
  104. <td><%=user_id%></td>   
  105. <td><%=user_name%></td>   
  106. <td width=´8%´ align=´center´><a href="delete.jsp?user_id=<%=user_id%>"    
  107.   
  108. onClick="return newwin(this.href);">删除</a></td>   
  109. </tr>   
  110. <%   
  111. sqlRst.next();   
  112. i++;   
  113. }   
  114. }   
  115. %>   
  116. </table>   
  117.   
  118.   
  119. </body>   
  120. </html>   
  121. <%   
  122. //关闭结果集   
  123. sqlRst.close();   
  124. //关闭SQL语句对象   
  125. sqlStmt.close();   
  126. //关闭数据库   
  127. sqlCon.close();   
  128. %>    
分享到:
评论
1 楼 cary1130 2007-05-14  
/********* 另一种方法(SQL语句)************/
<%@ page language="java" import="java.util.*,java.sql.*" %>
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cn" scope="page" class="myConnection.Conn" /><!--引用数据库操作的bean,自己完成,这里不再赘述-->
<%
int curpage=1;//当前页
int page_record=20;//每页显示的记录数
//用下面的方法(sql查询完成,速度快)
curpage=Integer.parseInt(request.getParameter("page"));//获取传递的值,需要显示的页
ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
while(rs.next) {
  out.println(rs.getInt("id").toString());
}
rs.close();
%>

相关推荐

Global site tag (gtag.js) - Google Analytics