mysql查询结果分页显示

<%@ page contentType="text/html;charset=gb2312" %> 
<%@ page language="java" import="java.sql.*" %> 

<%//变量声明 
	java.sql.Connection sqlCon; //数据库连接对象 
	java.sql.Statement sqlStmt; //SQL语句对象 
	java.sql.ResultSet sqlRst; //结果集对象 
	java.lang.String strCon; //数据库连接字符串 
	java.lang.String strSQL; //SQL语句 
	int intPageSize; //一页显示的记录数 
	int intRowCount; //记录总数 
	int intPageCount; //总页数 
	int intPage; //待显示页码 
	java.lang.String strPage; 
	int i; 
	//设置一页显示的记录数 
	intPageSize = 40; 
	//取得待显示页码 
	strPage = request.getParameter("page"); 
	
	if(strPage==null)
	{//表明在QueryString中没有page这一个参数,此时显示第一页数据 
		intPage = 1; 
	} 
	else{//将字符串转换成整型 
		intPage = java.lang.Integer.parseInt(strPage); 
		if(intPage<1) intPage = 1; 
	} 
	//装载JDBC驱动程序 
	Class.forName("org.gjt.mm.mysql.Driver"); 
	//设置数据库连接字符串 
	strCon = "jdbc:mysql://localhost:3306/test"; 
	//连接数据库 
	sqlCon = java.sql.DriverManager.getConnection(strCon,"root","mysqlroot"); 
	//创建一个可以滚动的只读的SQL语句对象 
	sqlStmt = sqlCon.createStatement();//准备SQL语句 
	strSQL = "select id,name from test"; 
	//执行SQL语句并获取结果集 
	sqlRst = sqlStmt.executeQuery(strSQL); 
	//获取记录总数 
	sqlRst.last();//光标在最后一行 
	intRowCount = sqlRst.getRow();//获得当前行号 
	//记算总页数 
	intPageCount = (intRowCount+intPageSize-1) / intPageSize; 
	//调整待显示的页码,超过总页数则显示最后一页
	if(intPage>intPageCount) intPage = intPageCount; 
%> 
<html> 
	<head> 
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
		<title>会员管理</title> 
	</head> 
	
	<body> 
	<form method="POST" action="fenye.jsp"> 
		第<%=intPage%>页 共<%=intPageCount%>页 
		
		<% if(intPage<intPageCount)//总页数大于当前页说明还有下一页
			{
		%>
		
		<a href="fenye.jsp?page=<%=intPage+1%>">下一页 </a>
		
		<%
			}
		%> 
		<% if(intPage>1)//当前在第一页之后需要有上一页
			{
		%>
		
		<a href="fenye.jsp?page=<%=intPage-1%>">上一页</a>
		<%
			}
		%> 
		
		转到第:<input type="text" name="page" size="8"> 页 
		<span>
			<input class=buttonface type="submit" value="GO"></span> 
	</form> 
	
	
	<table border="1" cellspacing="0" cellpadding="0"> 
		<tr> 
		<th>ID</th> 
		<th>用户名</th> 
		</tr> 
		<% 
			if(intPageCount>0){ 
			//将记录指针定位到待显示页的第一条记录上 
			sqlRst.absolute((intPage-1) * intPageSize + 1); 
			//显示数据 
			i = 0; 
			String user_id,user_name; 
			while(i<intPageSize && !sqlRst.isAfterLast()){ 
			user_id=sqlRst.getString(1); 
			user_name=sqlRst.getString(2); 
		%> 
			<tr> 
			<td><%=user_id%></td> 
			<td><%=user_name%></td> 
			
			</tr> 
		<% 
				sqlRst.next(); 
				i++; 
				} 
			} 
		%> 
	</table> 
	
	<% 
		//关闭结果集 
		sqlRst.close(); 
		//关闭SQL语句对象 
		sqlStmt.close(); 
		//关闭数据库 
		sqlCon.close(); 
	%>
	</body> 
</html> 
	

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值