多条件与分页

 

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.01 Transitional//EN">

<html>

 

 

  <body>

 <form action="a.jsp" method="post">

 

姓名: <input name="name">

学号: <input name="sid">

 <input type="submit" value="submit">

 </form>

  </body>

</html>

 

 

 

 

==========================================================

 

 

 

a.    jsp

<%@ page contentType="text/html;charset=utf-8" %>

<%@ page language="java" import="java.sql.*" %>

 

 

<%//变量声明

 

String sname=request.getParameter("name");

String ssid=request.getParameter("sid");

 

 

String sql="select name,sid from z where 1=1 ";

if(sname!=null&&!"".equals(sname)){

   sql=sql+"and name='"+sname+"'";

   out.print(sname);

}

if(ssid!=null&&!"".equals(ssid)){

   sql=sql+"and sid='"+ssid+"'";

   out.print(ssid);

}

 

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 = 4;

//取得待显示页码

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("oracle.jdbc.driver.OracleDriver");

//设置数据库连接字符串

strCon = "jdbc:oracle:thin:@192.168.1.240:1521:oracle";

//连接数据库

sqlCon = java.sql.DriverManager.getConnection(strCon,"scott","tiger");

//创建一个可以滚动的只读的SQL语句对象

sqlStmt =

sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句

//strSQL = "select name,sid from Z ";

//执行SQL语句并获取结果集

sqlRst = sqlStmt.executeQuery(sql);

//获取记录总数

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="a.jsp">

<%=intPage%>  <%=intPageCount%>

 

  <%if(intPage<intPageCount){%><a

 

href="a.jsp?page=<%=intPage+1%>">下一页

 

</a><%}%>  <%if(intPage>1){%><a href="a.jsp?page=<%=intPage-1%>">

 

上一页</a><%}%>

转到第: <input type="text" name="page" size="8">

<span><input class=buttonface type="submit" value="go" name=¡äcndok¡ä></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>

 

<%

sqlRst.next();

i++;

}

}

%>

</table>

 

 

</body>

</html>

<%

//关闭结果集

sqlRst.close();

//关闭SQL语句对象

sqlStmt.close();

//关闭数据库

sqlCon.close();

%>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值