• JDBC处理可滚动的处理集


     Statement createStatement(int resultSetType,                           int resultSetConcurrency,                           int resultSetHoldability)                           throws SQLException

    创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象。此方法与上述 createStatement 方法相同,但它允许重写默认结果集类型、并发性和可保存性。
    参数:
    resultSetType - 以下 ResultSet 常量之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
    resultSetConcurrency - 以下 ResultSet 常量之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
    resultSetHoldability - 以下 ResultSet 常量之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
    返回:
    一个新的 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象
    抛出:
    SQLException - 如果发生数据库访问错误,在关闭的连接上调用此方法,或者给定参数不是指定类型、并发性和可保存性的 ResultSet 常量
    SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法,或者对于指定结果集类型、结果集可保存性和结果集并发性,此方法不受支持。
    我们的例子用的参数是:
    ResultSet.TYPE_SCROLL_INSENSITIVE 对于滚动不敏感,说白了就是结果集可以随便滚。
    ResultSet.CONCUR_READ_ONLY  当并发访问这个结果集的时候,只能读取内容,不能改。
     1 package com.ayang.jdbc;
     2 
     3 import java.sql.*;
     4 
     5 public class TestScroll{
     6     public static void main(String[] args) {
     7         
     8         try {
     9             Class.forName("oracle.jdbc.driver.OracleDriver");
    10             String  url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
    11             Connection  conn  =  DriverManager.getConnection(url,"scott","root");
    12             
    13             Statement  stmt = conn.createStatement(
    14                     ResultSet.TYPE_SCROLL_INSENSITIVE,  //结果集滚动不敏感
    15                     ResultSet.CONCUR_READ_ONLY);        //并发访问结果集时,只读。
    16             
    17             ResultSet  rs = stmt.executeQuery("select * from emp order by sal");
    18             rs.next();
    19             System.out.println(rs.getString("ename"));
    20             rs.last();   //定位到最后一行
    21             System.out.println(rs.getString(1));  //打印第一列
    22             System.out.println(rs.isLast());      //是否是最后一行,boolean
    23             System.out.println(rs.isAfterLast()); //倒数第二行
    24             System.out.println(rs.getRow());   //得到是第几行。
    25             rs.previous();
    26             System.out.println(rs.getString(1));
    27             rs.absolute(6);                //指定到第6行
    28             System.out.println(rs.getString(1));
    29             rs.close();
    30             stmt.close();
    31             conn.close();
    32             
    33         } catch (ClassNotFoundException e) {
    34             
    35             e.printStackTrace();
    36         } catch (SQLException e) {
    37             
    38             e.printStackTrace();
    39         }
    40         
    41     }
    42 }
  • 相关阅读:
    C++(封装一)
    数据结构之链式栈(二)
    C++(函数重载二)
    不计算阶乘获得结果末尾0的个数
    附加产品
    刘子闻讲的高精度【太强了】
    字符串相关函数
    回文素数
    蛇形填数
    筛法模版
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/4474192.html
Copyright © 2020-2023  润新知