|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
所有标准 JdbcRowSet
实现都必须实现的标准接口。
ResultSet
对象的包装器使得将该结果集用作 JavaBeansTM 组件成为可能。因此,JdbcRowSet
对象可以是某个 Beans,是可用于组成应用程序的工具。因为 JdbcRowSet
是一个连接的 rowset,也就是说,它使用启用 JDBC 技术的驱动程序来维持它与数据库的连接,所以它也能有效地使驱动程序成为 JavaBeans 组件。
因为它始终连接到其数据库,所以 JdbcRowSet
的实例可以简单地采用在其上进行调用的方法,并依次对其 ResultSet
对象调用这些方法。因此,结果集可以是(举例来说)Swing 应用程序中的一个组件。
JdbcRowSet
对象的另一个优点是可使用它让 ResultSet
对象可滚动和可更新。默认情况下,所有 RowSet
对象都是可滚动的和可更新的。如果使用的驱动程序和数据库不支持结果集的滚动和/或更新,则应用程序可以组装一个带 ResultSet
对象数据的 JdbcRowSet
对象,然后在该 JdbcRowSet
对象上操作,就好像它是 ResultSet
对象一样。
JdbcRowSet
对象JdbcRowSet
接口的参考实现 JdbcRowSetImpl
提供了默认构造方法的实现。使用默认值初始化新的实例,可根据需要使用新值设置这些默认值。在调用新实例的 execute
方法之前,它实际上无法真正发挥作用。通常,此方法执行以下操作:
PreparedStatement
对象并设置其所有占位符参数
ResultSet
对象
execute
方法执行成功,则使用以下内容设置适当的私有 JdbcRowSet
字段:
Connection
对象 -- rowset 和数据库之间的连接
PreparedStatement
对象 -- 生成结果集的查询
ResultSet
对象 -- rowset 的命令所生成的和正在生成的结果集,实际上是一个 JavaBeans 组件
execute
方法,此时除 execute
和 close
以外,不能在该 rowset 上调用任何方法。调用所有其他公共方法都会抛出异常。
但是在调用 execute
方法之前,必须设置那些建立连接所需的命令和属性。以下代码片断创建了一个 JdbcRowSetImpl
对象、设置命令连接属性、设置占位符参数,然后调用方法 execute
。
JdbcRowSetImpl jrs = new JdbcRowSetImpl(); jrs.setCommand("SELECT * FROM TITLES WHERE TYPE = ?"); jrs.setURL("jdbc:myDriver:myAttribute"); jrs.setUsername("cervantes"); jrs.setPassword("sancho"); jrs.setString(1, "BIOGRAPHY"); jrs.execute();变量
jrs
现在表示一个 JdbcRowSetImpl
实例,它是 ResultSet
对象的一个瘦包装器,而该对象包含了表 TITLES
中书籍类型为传记的所有行。此时,在 jrs
上调用的操作将影响结果集中的各行,该结果集实际上是一个 JavaBeans 组件。
JdbcRowSet
参考实现中的 RowSet
方法 execute
的实现与 CachedRowSet
TM 参考实现中的不同,从而导致对已连接和非连接 RowSet
对象的不同要求。
字段摘要 |
---|
方法摘要 | |
---|---|
void |
commit()
每个 JdbcRowSet 都包含一个取自 ResultSet 的 Connection 对象或传递到其构造方法的 JDBC 属性。 |
boolean |
getAutoCommit()
每个 JdbcRowSet 都包含一个取自原始 ResultSet 的 Connection 对象或传递给它的 JDBC 属性。 |
RowSetWarning |
getRowSetWarnings()
获取此 JdbcRowSet 对象上的调用报告的第一个警告。 |
boolean |
getShowDeleted()
获取一个 boolean 值,该值指示标记为删除的行是否会出现在当前行集合中。 |
void |
rollback()
每个 JdbcRowSet 都包含一个取自原始 ResultSet 的 Connection 对象或传递给它的 JDBC 属性。 |
void |
rollback(Savepoint s)
每个 JdbcRowSet 都包含一个取自原始 ResultSet 的 Connection 对象或传递给它的 JDBC 属性。 |
void |
setAutoCommit(boolean autoCommit)
每个 JdbcRowSet 都包含一个取自原始 ResultSet 的 Connection 对象或传递给它的 JDBC 属性。 |
void |
setShowDeleted(boolean b)
将属性 showDeleted 设置为给定的 boolean 值。 |
从接口 java.sql.Wrapper 继承的方法 |
---|
isWrapperFor, unwrap |
从接口 javax.sql.rowset.Joinable 继承的方法 |
---|
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn |
方法详细信息 |
---|
boolean getShowDeleted() throws SQLException
boolean
值,该值指示标记为删除的行是否会出现在当前行集合中。如果返回 true
,则已删除行与当前行一起可见。如果返回 false
,则已删除行与当前行集合一起不可见。默认值为 false
。
出于安全考虑或为了某些部署情况,标准的 rowset 实现可以选择限制此行为。已删除行的可见性是实现定义的,并不表示标准行为。
注:允许保持已删除行可见会使某些标准 JDBC RowSet
实现方法的行为变得复杂。但是,多数 rowset 用户可以简单地忽略此额外细节,因为只有极其特殊的应用程序才会利用此功能。
true
;否则返回 false
SQLException
- 如果 rowset 实现无法确定是否使标记为删除的行保持可见setShowDeleted(boolean)
void setShowDeleted(boolean b) throws SQLException
showDeleted
设置为给定的 boolean
值。此属性确定标记为删除的行是否继续出现在当前行集合中。如果将值设置为 true
,则已删除行与当前行集合一起立即可见。如果将值设置为 false
,则已删除行与当前行集合一起被设置为不可见。
出于安全考虑或为了某些部署情况,标准的 rowset 实现可以选择限制此行为。这是由实现定义的,并不表示标准行为。
b
- 如果应该显示已删除行,则为 true
;否则为 false
SQLException
- 如果 rowset 实现无法重置已删除行是否应该可见getShowDeleted()
RowSetWarning getRowSetWarnings() throws SQLException
JdbcRowSet
对象上的调用报告的第一个警告。如果此 JdbcRowSet
对象上报告了第二个警告,则将它链接到第一个警告,并可通过在第一个警告上调用方法 RowSetWarning.getNextWarning
来获取该警告。此 JdbcRowSet
对象上的后续警告会被链接到方法 RowSetWarning.getNextWarning
返回的 RowSetWarning
对象。
每次读取新行时,都会自动清除警告链。不可以在已经关闭的 RowSet
对象上调用此方法;这样做将导致抛出 SQLException
。
因为 JdbcRowSet
对象始终连接到其数据源,所以该对象可以依靠现有的活动 Statement
、Connection
和 ResultSet
实例。这意味着应用程序可以通过调用 getNextWarning
方法来获得所提供的附加 SQLWarning
通知。非连接 Rowset
对象(如 CachedRowSet
对象)不必访问这些 getNextWarning
方法。
JdbcRowSet
对象上报告第一个 RowSetWarning
对象,如果没有则为 null
SQLException
- 如果在已关闭的 JdbcRowSet
对象上调用此方法RowSetWarning
void commit() throws SQLException
JdbcRowSet
都包含一个取自 ResultSet
的 Connection
对象或传递到其构造方法的 JDBC 属性。此方法包装 Connection
提交方法,以允许灵活的自动提交或非自动提交事务控制支持。
使自从上一次提交/回滚以来进行的所有更改成为持久更改,并释放此 Connection 对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。
SQLException
- 如果发生数据库访问错误或者此 JdbcRowSet
内的 Connection 对象处于自动提交模式下Connection.setAutoCommit(boolean)
boolean getAutoCommit() throws SQLException
JdbcRowSet
都包含一个取自原始 ResultSet
的 Connection
对象或传递给它的 JDBC 属性。此方法包装 Connection
的 getAutoCommit
方法,以允许应用程序确定 JdbcRowSet
的事务行为。
将此 connection 的自动提交模式设置为给定的状态。如果 connection 处于自动提交模式下,则将执行其所有 SQL 语句,并将这些语句作为单独的事务提交。否则,其 SQL 语句将成组地进入通过调用 commit 方法或 rollback 方法终止的事务中。默认情况下,新的 connection 处于自动提交模式下。
SQLException
- 如果发生数据库访问错误Connection.getAutoCommit()
void setAutoCommit(boolean autoCommit) throws SQLException
JdbcRowSet
都包含一个取自原始 ResultSet
的 Connection
对象或传递给它的 JDBC 属性。此方法包装 Connection
的 getAutoCommit
方法,以允许应用程序设置 JdbcRowSet
的事务行为。
设置此 Connection
对象的当前自动提交模式。
SQLException
- 如果发生数据库访问错误Connection.setAutoCommit(boolean)
void rollback() throws SQLException
JdbcRowSet
都包含一个取自原始 ResultSet
的 Connection
对象或传递给它的 JDBC 属性。取消在当前事务中进行的所有更改,并释放此 Connection
对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。
SQLException
- 如果发生数据库访问错误或者此 JdbcRowSet
内的 Connection
对象处于自动提交模式下。rollback(Savepoint)
void rollback(Savepoint s) throws SQLException
JdbcRowSet
都包含一个取自原始 ResultSet
的 Connection
对象或传递给它的 JDBC 属性。取消在当前事务中进行的所有更改,一直到最后设置的保存点,并释放此 Connection
对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。
SQLException
- 如果发生数据库访问错误或者此 JdbcRowSet
内的 Connection
对象处于自动提交模式下。rollback()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。