程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 實例講解JSP獲取ResultSet結果集中的數據的方法

實例講解JSP獲取ResultSet結果集中的數據的方法

編輯:關於JSP

獲得所有的記錄

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*" %>
<!DOCTYPE html>
<html>
  <head>
    <title>查詢所有用戶的記錄</title>
  </head>
  <body>
    <%
      String url = "jdbc:mysql://localhost:3306/javaweb";//連接數據庫的url地址
      String user = "root";//登錄數據庫的用戶名
      String password = "zhangda890126;;";//登錄數據庫的用戶名的密碼
      Connection conn = null;
      try{
        Class.forName("com.mysql.jdbc.Driver");//加載JDBC驅動程序
        conn = DriverManager.getConnection(url,user,password);//鏈接數據庫
      }catch(ClassNotFoundException e){
        out.println("找不到驅動類");//拋出異常時,提示信息
      }catch(SQLException e){
        out.println("鏈接MySQL數據庫失敗");//處理SQLException異常
      }
      try{
         
        Statement stmt = conn.createStatement();//創建語句對象Statement
        String queryAll = "SELECT * FROM user";//查詢所有的用戶
        ResultSet rs = stmt.executeQuery(queryAll);
        while(rs.next()){
          int userid = rs.getInt(1);//獲取第一個字段userid的值
          String username = rs.getString(2);//獲取第二個字段username的值
          String userpassword = rs.getString(3);//獲取第三個字段password的值
           
          //打印出所有的用戶的信息
          out.println("用戶ID:"+userid+" 用戶名:"+username+" 用戶的密碼 "+userpassword+"<br />");
        }
      }catch(SQLException e){
        out.println("查詢所有用戶信息失敗");
      }
    %>
  </body>
</html>

獲得所有的記錄中的指定字段的記錄

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*" %>
<!DOCTYPE html>
<html>
  <head>
    <title>查詢所有用戶的記錄的用戶id和用戶名</title>
  </head>
  <body>
    <%
      String url = "jdbc:mysql://localhost:3306/javaweb";//連接數據庫的url地址
      String user = "root";//登錄數據庫的用戶名
      String password = "zhangda890126;;";//登錄數據庫的用戶名的密碼
      Connection conn = null;
      try{
        Class.forName("com.mysql.jdbc.Driver");//加載JDBC驅動程序
        conn = DriverManager.getConnection(url,user,password);//鏈接數據庫
      }catch(ClassNotFoundException e){
        out.println("找不到驅動類");//拋出異常時,提示信息
      }catch(SQLException e){
        out.println("鏈接MySQL數據庫失敗");//處理SQLException異常
      }
      try{
         
        Statement stmt = conn.createStatement();//創建語句對象Statement
        String queryAll = "SELECT userid,username FROM user";//查詢所有的用戶
        ResultSet rs = stmt.executeQuery(queryAll);
        while(rs.next()){
          int userid = rs.getInt(1);//獲取第一個字段userid的值
          String username = rs.getString(2);//獲取第二個字段username的值
           
           
          //打印出所有的用戶的信息
          out.println("用戶ID:"+userid+" 用戶名:"+username+"<br />");
        }
      }catch(SQLException e){
        out.println("查詢所有用戶信息失敗");
      }
    %>
  </body>
</html>

獲得指定起始位置和條數的記錄

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*" %>
<!DOCTYPE html>
<html>
  <head>
    <title>獲得第二條記錄開始的三條記錄</title>
  </head>
  <body>
    <%
      String url = "jdbc:mysql://localhost:3306/javaweb";//連接數據庫的url地址
      String user = "root";//登錄數據庫的用戶名
      String password = "zhangda890126;;";//登錄數據庫的用戶名的密碼
      Connection conn = null;
      try{
        Class.forName("com.mysql.jdbc.Driver");//加載JDBC驅動程序
        conn = DriverManager.getConnection(url,user,password);//鏈接數據庫
      }catch(ClassNotFoundException e){
        out.println("找不到驅動類");//拋出異常時,提示信息
      }catch(SQLException e){
        out.println("鏈接MySQL數據庫失敗");//處理SQLException異常
      }
      try{
         
        Statement stmt = conn.createStatement();//創建語句對象Statement
        String queryAll = "SELECT * FROM user limit 1,3";//查詢所有的用戶
        ResultSet rs = stmt.executeQuery(queryAll);
        while(rs.next()){
          int userid = rs.getInt(1);//獲取第一個字段userid的值
          String username = rs.getString(2);//獲取第二個字段username的值
          String userpassword = rs.getString(2);//獲取第三個字段的password的值
           
          //打印出所有的用戶的信息
          out.println("用戶ID:"+userid+" 用戶名:"+username+" 用戶密碼:"+userpassword+"<br />");
        }
      }catch(SQLException e){
        out.println("查詢所有用戶信息失敗");
      }
    %>
  </body>
</html>

遍歷ResultSet中的數據並轉化為表格
在網上找了很久遍歷ResultSet中的數據並將其依次填充到一個網頁表格中,有說將ResultSet數據轉化到一個二維數組中,再依次輸出,但二位數組需要提前指定存儲大小,不方便擴增。其實用如下方法即可:

while(rs.next()){
    out.println("<tr><td>"+rs.getString(1)+"</td><td>" +rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"
        +rs.getString(4)+"</td><td>"+rs.getString(5)+"</td><td>"+rs.getString(6)+"</td><td>"
        +rs.getString(7)+"</td><td>"+rs.getString(8)+"</td><td>"+rs.getString(9)+"</td><td>"
        +rs.getString(10)+"</td><td>"+rs.getString(11)+"</td><td>"+rs.getString(12)+"</td><tr>");
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved