-
- All Superinterfaces:
-
AutoCloseable
,Joinable
,ResultSet
,RowSet
,Wrapper
public interface JdbcRowSetextends RowSet, Joinable
JdbcRowSet
所有标准实现必须实现的标准接口。1.0概述
围绕ResultSet
对象的包装器,可以将结果集用作JavaBeansResultSet
组件。 因此,JdbcRowSet
对象可以是工具可用于组成应用程序的Bean之一。 因为JdbcRowSet
是一个连接的行集,也就是说,它使用支持JDBC技术的驱动程序不断维护与数据库的连接,因此它还有效地使驱动程序成为JavaBeans组件。因为它始终连接到它的数据库,所以
JdbcRowSet
的实例可以简单地接受在其上调用的调用,然后在其ResultSet
对象上调用它们。 因此,结果集可以是,例如,Swing应用程序中的组件。JdbcRowSet
对象的另一个优点是它可用于使ResultSet
对象可滚动和可更新。 默认情况下,所有RowSet
对象都是可滚动和可更新的。 如果正在使用的驱动程序和数据库不支持滚动和/或更新结果集,则应用程序可以使用JdbcRowSet
对象的数据填充ResultSet
对象,然后对JdbcRowSet
对象进行操作,就像它是ResultSet
对象一样。2.0创建
JdbcRowSet
对象JdbcRowSet
接口的参考实现JdbcRowSetImpl
提供了默认构造函数的实现。 使用默认值初始化新实例,可以根据需要使用新值进行设置。 在调用其execute
方法之前,新实例并不真正起作用。 通常,此方法执行以下操作:- 建立与数据库的连接
- 创建一个
PreparedStatement
对象并设置其任何占位符参数 - 执行语句以创建
ResultSet
对象
execute
方法成功,它将使用以下内容设置相应的私有JdbcRowSet
字段:-
Connection
对象 - 行集与数据库之间的连接 -
PreparedStatement
对象 - 生成结果集的查询 -
ResultSet
对象 - 行集的命令生成的结果集,实际上是JavaBeans组件
execute
方法未成功执行,则不能execute
集上调用execute
和close
以外的方法。 所有其他公共方法都会抛出异常。但是,在调用
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组件。所述的实施
RowSet
方法execute
在JdbcRowSet
参考实现从在不同CachedRowSet
A“¢参考实现以考虑连接和断开的不同要求RowSet
对象。- 从以下版本开始:
- 1.5
-
-
字段汇总
-
Fields declared in interface 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
含有Connection
从对象ResultSet
或JDBC特性传递给它的构造函数。boolean
getAutoCommit()
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。RowSetWarning
getRowSetWarnings()
检索此JdbcRowSet
对象上的调用报告的第一个警告。boolean
getShowDeleted()
检索boolean
指示标记为删除的行是否出现在当前行集中。void
rollback()
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。void
rollback(Savepoint s)
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。void
setAutoCommit(boolean autoCommit)
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。void
setShowDeleted(boolean b)
将属性showDeleted
设置为给定的boolean
值。-
声明方法的接口 javax.sql.rowset.Joinable
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
-
声明方法的接口 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, 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, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
-
声明方法的接口 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.Wrapper
isWrapperFor, unwrap
-
-
-
-
方法详细信息
-
getShowDeleted
boolean getShowDeleted() throws SQLException
检索boolean
指示标记为删除的行是否出现在当前行集中。 如果返回true
,则删除的行与当前行可见。 如果返回false
,则使用当前行集不显示行。 默认值为false
。标准行集实现可以选择限制此行为以用于安全性考虑或某些部署方案。 已删除行的可见性是实现定义的,并不代表标准行为。
注意:允许删除的行保持可见会使某些标准JDBC
RowSet
实现方法的行为复杂化。 但是,大多数行集用户可以简单地忽略这些额外的细节,因为只有非常专业的应用程序才可能希望利用此功能。- 结果
-
true
如果删除的行是可见的; 否则为false
- 异常
-
SQLException
- 如果行集实现无法确定标记为删除的行是否仍然可见 - 另请参见:
-
setShowDeleted(boolean)
-
setShowDeleted
void setShowDeleted(boolean b) throws SQLException
将属性showDeleted
设置为给定的boolean
值。 此属性确定标记为删除的行是否继续显示在当前行集中。 如果该值设置为true
,则使用当前行集立即可以看到已删除的行。 如果该值设置为false
,则删除的行将设置为当前行集不可见。标准行集实现可以选择限制此行为以用于安全性考虑或某些部署方案。 这保留为实现定义,并不代表标准行为。
- 参数
-
b
-true
是否应显示已删除的行; 否则为false
- 异常
-
SQLException
- 如果行集实现无法重置是否应该显示已删除的行 - 另请参见:
-
getShowDeleted()
-
getRowSetWarnings
RowSetWarning getRowSetWarnings() throws SQLException
检索此JdbcRowSet
对象上的调用报告的第一个警告。 如果在此JdbcRowSet
对象上报告了第二个警告,则它将链接到第一个警告,并且可以通过在第一个警告上调用方法RowSetWarning.getNextWarning
来检索。 此JdbcRowSet
对象的后续警告将链接到方法RowSetWarning.getNextWarning
返回的RowSetWarning
对象。 每次读取新行时都会自动清除警告链。 可能无法在已关闭的RowSet
对象上调用此方法; 这样做会导致SQLException
被抛出。因为它总是连接到它的数据源,一个
JdbcRowSet
对象可以依靠活性的存在Statement
,Connection
,和ResultSet
实例。 这意味着应用程序可以通过调用它们提供的getNextWarning
方法获取其他SQLWarning
通知。 已断开连接的Rowset
对象(例如CachedRowSet
对象)无权访问这些getNextWarning
方法。- 结果
- 第一
RowSetWarning
对象报道这对JdbcRowSet
对象或null
如果有没有 - 异常
-
SQLException
- 如果在已关闭的JdbcRowSet
对象上调用此方法 - 另请参见:
-
RowSetWarning
-
commit
void commit() throws SQLException
每个JdbcRowSet
含有Connection
从对象ResultSet
或JDBC特性传递给它的构造函数。 此方法包装Connection
提交方法以允许灵活的自动提交或非自动提交事务控制支持。使自上次提交/回滚以来所做的所有更改成为永久更改,并释放此Connection对象当前持有的所有数据库锁。 仅在禁用自动提交模式时才应使用此方法。
- 异常
-
SQLException
- 如果发生数据库访问错误或此JdbcRowSet
此Connection对象处于自动提交模式 - 另请参见:
-
Connection.setAutoCommit(boolean)
-
getAutoCommit
boolean getAutoCommit() throws SQLException
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。 此方法包装Connection
的getAutoCommit
方法,以允许应用程序确定JdbcRowSet
事务行为。将此连接的自动提交模式设置为给定状态。 如果连接处于自动提交模式,则其所有SQL语句将作为单个事务执行并提交。 否则,其SQL语句将分组为通过调用方法提交或方法回滚来终止的事务。 默认情况下,新连接处于自动提交模式。
- 结果
-
true
如果启用了自动提交; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
Connection.getAutoCommit()
-
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。 此方法包装Connection
的getAutoCommit
方法,以允许应用程序设置JdbcRowSet
事务行为。设置此
Connection
对象的当前自动提交模式。- 参数
-
autoCommit
-true
启用自动提交;false
禁用自动提交 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
Connection.setAutoCommit(boolean)
-
rollback
void rollback() throws SQLException
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。 撤消当前事务中所做的所有更改,并释放此Connection
对象当前持有的所有数据库锁。 仅在禁用自动提交模式时才应使用此方法。- 异常
-
SQLException
-如果发生数据库访问错误或者此Connection
此内对象JdbcRowSet
是在自动提交模式。 - 另请参见:
-
rollback(Savepoint)
-
rollback
void rollback(Savepoint s) throws SQLException
每个JdbcRowSet
包含Connection
从原始对象ResultSet
或JDBC属性传递给它。 将当前事务中所做的所有更改撤消到最后设置的保存点,并释放此Connection
对象当前持有的所有数据库锁。 仅在禁用自动提交模式时才应使用此方法。- 参数
-
s
- 要回滚到的Savepoint
- 异常
-
SQLException
-如果发生数据库访问错误或者此Connection
此内对象JdbcRowSet
是在自动提交模式。 - 另请参见:
-
rollback()
-
-