实例讲解JSP获取ResultSet结果集中的数据的方法

前端技术 2023/09/05 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>\");
}

本文地址:https://www.stayed.cn/item/14522

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。