`

ResultSet 的Type属性 TYPE_FORWARD_ONLY, TYPE_SCROLL_I

SQL 
阅读更多
说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明:

参数 int type

ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。

ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。

ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。

参数 int concurrency

ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。

ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。

查询语句

ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据

ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息

当我们使用ResultSet re=stmt.executeQuery(SQL语句)查询后,我们可以使用下列方法获得信息:

public boolean previous() 将游标向上移动,该方法返回boolean型数据,当移到结果集第一行之前时,返回false。

public void beforeFirst 将游标移动到结果集的初始位置,即在第一行之前。

public void afterLast() 将游标移到结果集最后一行之后。

public void first() 将游标移到结果集的第一行。

public void last() 将游标移到结果集的最后一行。

public boolean isAfterLast() 判断游标是否在最后一行之后。

public boolean isBeforeFirst() 判断游标是否在第一行之前。

public boolean ifFirst() 判断游标是否指向结果集的第一行。

public boolean isLast() 判断游标是否指向结果集的最后一行。

public int getRow() 得到当前游标所指向行的行号,行号从1开始,如果结果集没有行,返回0。

public boolean absolute(int row) 将游标移到参数row指定的行号。如果row取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时,该方法返回false
说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明:

参数 int type

ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。

ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。

ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。

参数 int concurrency

ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。

ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。

查询语句

ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据

ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息

当我们使用ResultSet re=stmt.executeQuery(SQL语句)查询后,我们可以使用下列方法获得信息:

public boolean previous() 将游标向上移动,该方法返回boolean型数据,当移到结果集第一行之前时,返回false。

public void beforeFirst 将游标移动到结果集的初始位置,即在第一行之前。

public void afterLast() 将游标移到结果集最后一行之后。

public void first() 将游标移到结果集的第一行。

public void last() 将游标移到结果集的最后一行。

public boolean isAfterLast() 判断游标是否在最后一行之后。

public boolean isBeforeFirst() 判断游标是否在第一行之前。

public boolean ifFirst() 判断游标是否指向结果集的第一行。

public boolean isLast() 判断游标是否指向结果集的最后一行。

public int getRow() 得到当前游标所指向行的行号,行号从1开始,如果结果集没有行,返回0。

public boolean absolute(int row) 将游标移到参数row指定的行号。如果row取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时,该方法返回false
分享到:
评论

相关推荐

    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的并发...

    ResultSet剖析

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

    JDBCJDBC高级应用

    默认类型是只可向前滚动,即 `ResultSet.TYPE_FORWARD_ONLY`。滚动不敏感的 `ResultSet.TYPE_SCROLL_INSENSITIVE` 允许任意方向滚动,但不会反映数据库的变化。滚动敏感的 `ResultSet.TYPE_SCROLL_SENSITIVE` 类型则...

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

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

    ResultSet用法集锦

    - `TYPE_FORWARD_ONLY`:只能向前滚动,这是默认类型。 - `TYPE_SCROLL_INSENSITIVE`:可以前后滚动,但对数据库的修改不敏感。 - `TYPE_SCROLL_SENSITIVE`:可以前后滚动,并对数据库的修改敏感。 7. `ResultSet`...

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

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

    jdbc联接代码

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

    jdbc2.0特性

    `TYPE_SCROLL_INSENSITIVE`和`TYPE_SCROLL_SENSITIVE`游标类型使得开发者可以根据应用需求选择合适的数据一致性策略。`CONCUR_READ_ONLY`和`CONCUR_UPDATABLE`则定义了记录集的并发模式,以适应不同场景的安全性和...

    jdbc相关ppt

    `ResultSet.TYPE_SCROLL_INSENSITIVE`可以在任何位置滚动,但不关心数据变化;`ResultSet.TYPE_SCROLL_SENSITIVE`是敏感模式,可以感知数据的变化。 4. **批量更新**:通过`addBatch()`方法将多条SQL语句添加到...

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

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

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    这可以通过在Hibernate配置文件中设置`hibernate.connection.autocommit`属性为`false`,并在查询前手动设置事务,然后通过`Session`的`createSQLQuery()`或`createQuery()`方法附加`ResultSet.TYPE_SCROLL_...

    操作mysql数据库的类.pdf

    在Java中,有多种游标类型,如`ResultSet.TYPE_FORWARD_ONLY`(只向前)、`ResultSet.TYPE_SCROLL_INSENSITIVE`(不可感知数据改变的滚动)和`ResultSet.TYPE_SCROLL_SENSITIVE`(可感知数据改变的滚动)。...

    JDBC连接MySQL

    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ``` 总的来说,JDBC提供了连接和操作MySQL数据库的标准方法,包括加载驱动、创建连接、执行SQL语句以及...

    10. RS的用法

    9. **结果集类型**:ResultSet有三种类型:TYPE_FORWARD_ONLY、TYPE_SCROLL_INSENSITIVE和TYPE_SCROLL_SENSITIVE,决定了是否能前后滚动以及对数据变化的敏感度。 10. **异常处理**:在处理ResultSet时,可能出现...

    JDBC的详解需要的工程

    - **结果集类型**: ResultSet的类型有TYPE_FORWARD_ONLY、TYPE_SCROLL_INSENSITIVE和TYPE_SCROLL_SENSITIVE,分别代表只向前滚动、不可变的滚动和可变的滚动。 - **结果集并发**: CONCUR_READ_ONLY和CONCUR_...

Global site tag (gtag.js) - Google Analytics