<!--这个html页面主要是用来向MyJsp.jsp页面提交一个输入的参数用于从数据库查找数据-->
<html>
<body>
<form method="post" action="http://127.0.0.1:8080/DB2/MyJsp.jsp">
<input type="text" size="20" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
<!--以下是处理提交的数据的MyJsp.jsp页面,并且把从数据库查找到的东西分页显示-->
<!--在此主要是实现分页功能,并且可以传递参数到下一页-->
<%@ page contentType="text/html;charset=gb2312"%>
<%@page language="java" import="java.sql.*" %>
<%@page language="java" import="java.util.*" %>
<%@page language="java" import="java.lang.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>数据库内容显示</title>
</head>
<% //变量声明
Connection conn; //数据库连接对象
Statement stmt; //SQL语句对象
ResultSet rs; //结果集对象
String strCon; //数据库连接字符串
//SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
String strPage;
int i;
//设置一页显示的记录数
intPageSize = 3;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null||strPage==""){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
//if(intPage<1) intPage = 1;
}
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://localhost:1433";
String user="sa";
String password="100862";
//装载JDBC驱动程序
Class.forName(driver).newInstance();
//设置数据库连接字符串
conn = java.sql.DriverManager.getConnection(url,user,password);
//创建一个可以滚动的只读的SQL语句对象
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql;
String name = request.getParameter("name"); //获取页面传来的号码
//查询的语句
sql="select scientProjectName,scientProjectType,scientProjectCategery,contractNo from Student.dbo.scitificItem where scientProjectName='"+name+"'";
//执行SQL语句并获取结果集
rs = stmt.executeQuery(sql);
//获取记录总数
rs.last();//??光标在最后一行
intRowCount = rs.getRow();//获得当前行号
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
<body><center>
<h1 align="center">数据库查询</h1>
<form method="POST">
第<%=intPage%>页 每页<%=intPageSize%>行 共<%=intPageCount%>页
<%if(intPage<intPageCount){%>
<a href="MyJsp.jsp?page=<%=intPage+1%>&name=<%=name%>">下一页</a><!--把获得的参数name继续传递到下一页-->
<%}%>
<%if(intPage>1){%>
<a href="MyJsp.jsp?page=<%=intPage-1%>&name=<%=name%>">上一页</a><!--把获得的参数name继续传递到下一页-->
<%}%>
</form>
<table border="3" cellpadding="4" bordercolor="#a7a7a7" style="empty-cells: show; border-collapse: collapse;">
<tr bgcolor="#999999">
<th>名称</th>
<th>类型</th>
<th>类别</th>
<th>编号</th>
</tr>
<%if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
String date,haoma,mingcheng,shuliang,beizhu;
while(i<intPageSize && !rs.isAfterLast()){
date=rs.getString(1);
haoma=rs.getString(2);
mingcheng=rs.getString(3);
shuliang=rs.getString(4);
%>
<tr>
<td><%=date%></td>
<td><%=haoma%></td>
<td><%=mingcheng%></td>
<td><%=shuliang%></td>
</tr>
<%rs.next();
i++;
}
}%>
</table>
</center>
<%//关闭结果集
rs.close();
//关闭SQL语句对象
stmt.close();
//关闭数据库
conn.close();%>
</body>
</html>
说明:如有不明白的地方 请留言。我会及时回答。谢谢!