JDBC结果集Result/Sets

从数据库查询读取数据的SQL语句返回的结果集的数据。 SELECT语句的标准方法来选择从一个数据库中的行并查来在一个结果集。java.sql.ResultSet接口表示一个数据库查询的结果集。

一个ResultSet对象维护一个游标指向当前行的结果集。术语“结果集”是指包含在ResultSet对象中的行和列的数据。

ResultSet接口的方法可分为三类:

  • 导航方法:用于移动光标.

  • 获取方法:用于查看当前行的光标所指向的列中的数据。

  • 更新方法:用于更新当前行的列中的数据。这些更新然后可以在基础数据库中,以及更新。

将光标移动基于ResultSet的属性。所创建生成ResultSet相应的声明时,这些属性被指定。

JDBC提供下列连接方法来创建所需的ResultSet语句:

  • createStatement(int RSType, int RSConcurrency);

  • prepareStatement(String SQL, int RSType, int RSConcurrency);

  • prepareCall(String sql, int RSType, int RSConcurrency);

第一个参数表示ResultSet对象的类型,第二个参数是2的ResultSet常量,用于指定一个结果集是否为只读或可更新之一。

ResultSet的类型:

可能的RSType如下,如果不指定ResultSet类型,将自动获得一个是TYPE_FORWARD_ONLY。

Type 描述
ResultSet.TYPE_FORWARD_ONLY 游标只能向前移动的结果集。
ResultSet.TYPE_SCROLL_INSENSITIVE 游标可以向前和向后滚动,结果集不是别人向创建结果集后发生的数据库更改敏感。
ResultSet.TYPE_SCROLL_SENSITIVE. 游标可以向前和向后滚动,结果集是别人向创建结果集后发生的数据库更改敏感。

并发性的ResultSet:

可能的RSConcurrency如下,如果不指定任何并发类型,将自动获得一个为CONCUR_READ_ONLY。

并发 描述
ResultSet.CONCUR_READ_ONLY 创建结果集只读。这是默认的
ResultSet.CONCUR_UPDATABLE 创建一个可更新的结果集。

到目前为止已写入的例子可以写成如下的初始化一个Statement对象来创建一个只进,只读的ResultSet对象: