用JAVA連線SQL實現查詢資料
阿新 • • 發佈:2018-11-08
顯示所有學生程式碼
<%@ 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> 最小<input type="text" value="0" name="w1"><br><br> 最大<input type="text" value="150" name="w2"><p> <input type="submit" value="提交"> <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>