©
本文档使用
php.cn手册 发布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface JdbcRowSet
所有标准 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
对象的不同要求。
字段摘要 |
---|
从接口 java.sql.ResultSet 继承的字段 |
---|
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE |
方法摘要 | |
---|---|
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 值。 |
从接口 javax.sql.RowSet 继承的方法 |
---|
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setURL, setUrl, setUsername |
从接口 java.sql.ResultSet 继承的方法 |
---|
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull |
从接口 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 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。