用JAVA连接SQL实现查询数据

显示所有学生代码

<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>显示所有学生的页面</title>
</head>
<body>
<center>
<% 		String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//加载JDBC驱动
		String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zero";
//连接服务器和数据库
		String userName = "sa"; // 默认用户名
		String userPwd = "123456"; // 密码
		Connection dbConn = null;
		try {
			Class.forName(driverName);
			dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
		//	System.out.println("Connection Successful!");
			// 如果连接成功 控制台输出Connection Successful!
		} catch (Exception e) {
			e.printStackTrace();
		//	System.out.println("连接失败");
		}
		String sql="select * from stu_info";  //查询关键代码
		PreparedStatement pstmt=dbConn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
		ResultSet rs=pstmt.executeQuery();
		rs.last(); //移至最后一条记录
%>你要查询的学生数据表中共有
		<font size="5" color="red"><%=rs.getRow()%></font>人
		<table border="2" bgcolor="ccceee" width="650">
			<tr bgcolor="CCCCCC" align="center">
			<td>记录条数</td><td>学号</td><td>姓名</td>
			<td>性别</td><td>年龄</td><td>体重</td><td>身高</td>
			</tr>
			<% rs.beforeFirst(); //移至第一条记录之前
				while (rs.next()){
			%> <tr align="center">
					<td><%=rs.getRow() %></td>
					<td><%=rs.getString("id") %></td>
					<td><%=rs.getString("name") %></td>
					<td><%=rs.getString("sex") %></td>
					<td><%=rs.getString("age") %></td>
					<td><%=rs.getString("weight") %></td>
					<td><%=rs.getString("hight") %></td>
					</tr>
					<%} %>
			</table>
			</center>
			<%if(rs!=null){rs.close();}
				if(pstmt!=null){pstmt.close();}
				if(dbConn!=null){dbConn.close();}
			%>
</body>
</html>

 按条件查询学生

提交查询条件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询条件提交页面</title>
</head>
<body>
请选择查询条件<hr width="100%" size="3">
<form action="find_stu_3.jsp" method="post">
	性别:男<input type="radio" value="男" name="sex" checked="checked">
	女<input type="radio" value="女" name="sex"><br><br>
	体重范围:<p>&nbsp;&nbsp;&nbsp;&nbsp;
	最小<input type="text" value="0" name="w1"><br><br>
	&nbsp;&nbsp;&nbsp;&nbsp;
	最大<input type="text" value="150" name="w2"><p>
	<input type="submit" value="提交">
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="reset" value="取消">
</form>
</body>
</html>

查询页面

<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>实现查询页面</title>
</head>
<body>
<center>
<% 		String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//加载JDBC驱动
		String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zero";
//连接服务器和数据库
		String userName = "sa"; // 默认用户名
		String userPwd = "123456"; // 密码
		Connection dbConn = null;
		try {
			Class.forName(driverName);
			dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
		//	System.out.println("Connection Successful!");
			// 如果连接成功 控制台输出Connection Successful!
		} catch (Exception e) {
			e.printStackTrace();
		//	System.out.println("连接失败");
		}
		request.setCharacterEncoding("UTF-8");//设置字符编码,避免出现乱码
		String sex=request.getParameter("sex");
		float weight1=Float.parseFloat(request.getParameter("w1"));
		float weight2=Float.parseFloat(request.getParameter("w2"));
		
		//Statement stmt =dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
		String sql="select * from stu_info where sex=? and weight>=? and weight<=?";
		PreparedStatement pstmt=dbConn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
		pstmt.setString(1,sex);
		pstmt.setFloat(2,weight1);
		pstmt.setFloat(3,weight2);
		ResultSet rs=pstmt.executeQuery();
		rs.last();
		%>你要查询的学生数据表中共有
		<font size="5" color="red"><%=rs.getRow()%></font>人
		<table border="2" bgcolor="ccceee" width="650">
			<tr bgcolor="CCCCCC" align="center">
			<td>记录条数</td><td>学号</td><td>姓名</td>
			<td>性别</td><td>年龄</td><td>体重</td><td>身高</td>
			</tr>
			<% rs.beforeFirst(); //移至第一条记录之前
				while (rs.next()){
			%> <tr align="center">
					<td><%=rs.getRow() %></td>
					<td><%=rs.getString("id") %></td>
					<td><%=rs.getString("name") %></td>
					<td><%=rs.getString("sex") %></td>
					<td><%=rs.getString("age") %></td>
					<td><%=rs.getString("weight") %></td>
					<td><%=rs.getString("hight") %></td>
					</tr>
					<%} %>
			</table>
</center>
<%if(rs!=null){rs.close();}
				if(pstmt!=null){pstmt.close();}
				if(dbConn!=null){dbConn.close();}
			%>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_42059543/article/details/83692305