執行個體講解JSP擷取ResultSet結果集中的資料的方法_JSP編程

來源:互聯網
上載者:User

獲得所有的記錄

<%@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>");}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.