`

ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE

 
阅读更多
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数
 
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourtable");
ResultSetMetaData rsmd = rset.getMetaData() ;
int columnCount = rsmd.getColumnCount();

columnCount 就是ResultSet的总列数。
 

                ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE

用缺省配置创建时,ResultSet 是一种只能访问一次(one-time-through)、只能向前访问(forward-only)和只读的对象。您只能访问数据一次,假如再次需要该数据,必须重新查询数据库。

然而,并不只有这一种方式。通过配置 Statement 对象上的参数,您能够控制他产生的 ResultSet。例如:

...
          Class.forName(driverName);
          db = DriverManager.getConnection(connectURL);
          Statement statement = db.createStatement(
                             ResultSet.TYPE_SCROLL_SENSITIVE,
                                                   ResultSet.CONCUR_UPDATABLE
                         );         
         
          String orderElName = xmlfileEl.getElementsByTagName("order").item(0)
                                        .getFirstChild().getNodeValue();
...
 



这个 Statement 现在将产生能够更新并将应用其他数据库用户所作更改的 ResultSet。您还能够在这个 ResultSet 中向前和向后移动。

第一个参数指定 ResultSet 的类型。其选项有:

TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能够进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。假如用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
第二个参数配置 ResultSet 的并发性,该参数确定是否能够更新 ResultSet。其选项有:

CONCUR_READ_ONLY:这是缺省值,指定不能够更新 ResultSet
CONCUR_UPDATABLE:指定能够更新 ResultSet

分享到:
评论

相关推荐

    javaResultSet常用方法.pdf

    其中,resultSetType指定ResultSet的类型,可以是ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE之一。resultSetConcurrency指定ResultSet的并发类型,可以是...

    java resultset常用方法

    - **resultSetType**:定义ResultSet的类型,可以是`ResultSet.TYPE_FORWARD_ONLY`、`ResultSet.TYPE_SCROLL_INSENSITIVE`或`ResultSet.TYPE_SCROLL_SENSITIVE`。 - **resultSetConcurrency**:定义ResultSet的并发...

    采用JDBC进行数据库分页查询

    一次只从数据库中查询最大maxCount条记录 ... PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //最大查询到第几条记录.........

    ojdbc14.jar 工具包

    java语句如下private String url = "jdbc:odbc...stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);} catch (Exception e) {System.err.print("Error" + e.getMessage());}

    JDBCJDBC高级应用

    - 创建可更新结果集时,需要指定并发性类型,如 `ResultSet.CONCUR_UPDATABLE`,并配合 `ResultSet.TYPE_SCROLL_INSENSITIVE` 或 `ResultSet.TYPE_SCROLL_SENSITIVE` 使用。 - 更新结果集中的数据通常涉及 `update...

    《Java程序设计案例教程》教学课件09Java数据库编程.pptx

    ResultSet.TYPE_SCROLL_INSENSITIVE允许上下移动,但对数据库变化不敏感;ResultSet.TYPE_SCROLL_SENSITIVE则在移动时会反映数据库的最新状态。resultSetConcurrency的ResultSet.CONCUR_READ_ONLY意味着结果集是只读...

    JAVA100例之实例55 可滚动结果集

    这里,`ResultSet.TYPE_SCROLL_INSENSITIVE`表示结果集对数据库中的变化不敏感,而`ResultSet.CONCUR_READ_ONLY`表示结果集是只读的。如果需要更新结果集,可以使用`ResultSet.CONCUR_UPDATABLE`。 接下来,执行SQL...

    ResultSet剖析

    - `resultSetType`:设置`ResultSet`的滚动模式,`ResultSet.TYPE_FORWARD_ONLY`表示仅支持前向滚动,`ResultSet.TYPE_SCROLL_INSENSITIVE`和`ResultSet.TYPE_SCROLL_SENSITIVE`则允许双向滚动,区别在于后者对数据...

    java读取DBF解决方案(可以解决javadbf.jar对DBF部分中文乱码和错行等杂症)

    因为需要用ODBC所以需要是windows... stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch (Exception e) { System.err.print("Error" + e.getMessage()); }  

    在JSP中连接各种数据库

    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql = "SELECT * FROM tablename"; ResultSet rs = stmt.executeQuery(sql); while (rs.next...

    jdbc联接代码

    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ``` 此行代码创建了一个`Statement`对象,该对象生成的`ResultSet`是可滚动的(支持前后移动),但只能读取数据,不...

    JDBC2.0新功能

    但在JDBC 2.0中,通过`ResultSet.TYPE_SCROLL_SENSITIVE`和`ResultSet.TYPE_SCROLL_INSENSITIVE`选项,开发者可以创建可滚动的结果集。这使得开发人员可以在结果集中前后移动,甚至直接跳转到特定行。例如,使用`...

    java连接各种数据库DEMO

    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) {...

    JDBC连接操作Oracle及Mysql详解

    8. **可滚动的结果集**: ResultSet对象默认是不可滚动的,但通过设置`ResultSet.TYPE_SCROLL_INSENSITIVE`和`ResultSet.CONCUR_READ_ONLY`,可以创建一个可滚动的结果集,允许前后移动和检查是否已到达结果集的末尾...

    jdbc示例代码

    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT * FROM your_table"); // Batch处理 PreparedStatement ...

    java 中createStatement()方法的实例详解

    在上面的代码中,我们使用 createStatement() 方法创建了一个 Statement 对象,并指定了 ResultSet 的类型为 TYPE_SCROLL_SENSITIVE 和并发性为 CONCUR_UPDATABLE。这意味着我们可以在 ResultSet 中向前和向后移动,...

    JDBC使用游标实现分页查询的方法

    然后创建一个PreparedStatement对象,设置游标类型为`ResultSet.TYPE_SCROLL_INSENSITIVE`,并发控制为`ResultSet.CONCUR_READ_ONLY`,以确保结果集的只读性。 - 使用`setMaxRows(startNo+maxCount-1)`限制返回的...

Global site tag (gtag.js) - Google Analytics