- すべてのスーパー・インタフェース:
AutoCloseable
,Joinable
,ResultSet
,RowSet
,Wrapper
JdbcRowSet
のすべての標準実装が実装しなければならない標準インタフェースです。
1.0 概要
結果セットをJavaBeansコンポーネントとして使用できるようにするResultSet
オブジェクトのラッパー。 したがって、JdbcRowSet
オブジェクトは、ツールがアプリケーションの組立てに利用できるBeansの1つになります。 JdbcRowSet
は接続された行セットなので、JDBCテクノロジを使用可能なドライバを使用してデータベース接続を継続して保持します。また、ドライバを事実上のJavaBeansコンポーネントにします。
常にデータベースに接続されているので、JdbcRowSet
のインスタンスは、この接続上で呼出しを行い、続いてこれらをそのResultSet
オブジェクト上で呼び出します。 その結果、たとえば結果セットは、Swingアプリケーションのコンポーネントになります。
JdbcRowSet
オブジェクトのもう1つの利点は、ResultSet
オブジェクトにスクロール機能と更新機能を持たせることができる点にあります。 すべてのRowSet
オブジェクトは、デフォルトで、スクロール機能と更新機能を備えています。 使用するドライバとデータベースが結果セットのスクロール機能や更新機能をサポートしない場合、アプリケーションはJdbcRowSet
オブジェクトにResultSet
オブジェクトのデータを移植し、あたかもResultSet
オブジェクトのようにJdbcRowSet
オブジェクトを操作することができます。
2.0 JdbcRowSet
オブジェクトの作成
JdbcRowSet
インタフェースのリファレンス実装、JdbcRowSetImpl
は、デフォルト・コンストラクタの実装を提供します。 新しいインスタンスは、デフォルト値で初期化されます。その後、必要に応じて新しい値を設定できます。 新しいインスタンスは、execute
メソッドが呼び出されるまで、実際には機能しません。 通常、このメソッドは次の処理を行います。
- データベースとの接続を確立する
-
PreparedStatement
オブジェクトを作成し、プレースホルダー・パラメータを設定する -
ResultSet
オブジェクトを作成する文を実行する
execute
メソッドは、成功した場合、適切なprivate JdbcRowSet
フィールドに次の項目を設定します。
-
Connection
オブジェクト -- 行セットとデータベース間の接続 -
PreparedStatement
オブジェクト -- 結果セットを生成するクエリー -
ResultSet
オブジェクト -- 行セットのコマンドによって生成された結果セット。この結果セットから、JavaBeansコンポーネントが生成される
execute
メソッドが正常に実行されなかったことになります。行セット上では、execute
とclose
以外のメソッドは呼び出せません。 その他のpublicメソッドはすべて例外をスローします。
しかし、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
は、表TITLES
(書籍の種類は伝記文学)内のすべての行を含むResultSet
オブジェクトのthinラッパー、JdbcRowSetImpl
のインスタンスを表現するようになります。 この時点で、jrs
上で呼び出される操作は、結果セット内の行(事実上のJavaBeansコンポーネント)に影響を及ぼします。
JdbcRowSet
リファレンス実装のRowSet
メソッドexecute
の実装は、接続および切断されたRowSet
オブジェクトの様々な要件を考慮してCachedRowSet
リファレンス実装の実装とは異なります。
- 導入されたバージョン:
- 1.5
-
フィールドのサマリー
インタフェース 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
JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。このJdbcRowSet
オブジェクトに関する呼出しによって報告される最初の警告を取得します。boolean
削除マークが付けられた行を現在の行とともに表示するかどうかを示すboolean
を取得します。void
rollback()
JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。void
JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。void
setAutoCommit
(boolean autoCommit) JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡される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
void setShowDeleted(boolean b) throws SQLException showDeleted
プロパティに、指定されたboolean
値を設定します。 このプロパティにより、削除行を現在の行セット内に引き続き表示するかどうかが決定します。 値がtrue
の場合、削除された行が現在の行セットとともに表示されます。 値がfalse
の場合、削除された行は現在の行セット内に表示されません。標準行セット実装は、セキュリティ上の配慮または特定の配備シナリオに適合させるため、この動作を制限することができます。 これは定義済みの実装として残され、標準の動作を表しません。
- パラメータ:
b
- 削除された行を表示する場合はtrue
、そうでない場合はfalse
- 例外:
SQLException
- 行セット実装が、削除行の表示または非表示の設定をリセットできない場合- 関連項目:
-
getRowSetWarnings
RowSetWarning getRowSetWarnings() throws SQLExceptionこのJdbcRowSet
オブジェクトに関する呼出しによって報告される最初の警告を取得します。JdbcRowSet
オブジェクト上に2番目の警告が報告された場合、この警告は最初の警告にチェーンされます。よって、2番目の警告は、最初の警告に対してRowSetWarning.getNextWarning
メソッドを呼び出すことで取得できます。 このJdbcRowSet
オブジェクト上の後続の警告は、RowSetWarning.getNextWarning
メソッドによって返されるRowSetWarning
オブジェクトにチェーンされます。 警告チェーンは、新しい行が読み込まれるたびに自動的にクリアされます。 クローズ済のRowSet
オブジェクトでこのメソッドを呼び出すことはできません。そうした場合にはSQLException
がスローされます。JdbcRowSet
オブジェクトは、常にデータ・ソースに接続されているので、アクティブなStatement
、Connection
、およびResultSet
インスタンスの存在に依存することができます。 つまり、アプリケーションは、これらが提供するgetNextWarning
メソッドを呼びだすことで、追加のSQLWarning
通知を取得できることになります。CachedRowSet
オブジェクトなど、未接続のRowset
オブジェクトは、これらのgetNextWarning
メソッドにアクセスできません。- 戻り値:
- この
JdbcRowSet
オブジェクト上で報告された最初のRowSetWarning
オブジェクト。ない場合はnull
- 例外:
SQLException
- このメソッドがクローズされたJdbcRowSet
オブジェクトで呼び出された場合- 関連項目:
-
commit
void commit() throws SQLExceptionJdbcRowSet
には、ResultSet
のConnection
オブジェクトか、コンストラクタに渡されるJDBCプロパティが含まれます。 このメソッドは、Connection
コミット・メソッドをラップして、柔軟な自動コミットまたは非自動コミットのトランザクション制御サポートを提供します。直前のコミット/ロールバック以降に行われた変更をすべて有効とし、このConnectionオブジェクトが現在保持するデータベース・ロックをすべて解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet
内のConnectionオブジェクトが自動コミット・モードである場合- 関連項目:
-
getAutoCommit
boolean getAutoCommit() throws SQLExceptionJdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。 このメソッドは、Connection
のgetAutoCommit
メソッドをラップして、アプリケーションがJdbcRowSet
トランザクションの動作を確認できるようにします。この接続の自動コミット・モードを指定された状態に設定します。 接続が自動コミット・モードの場合、そのすべてのSQL文は実行され、個別のトランザクションとしてコミットされます。 そうでない場合、そのSQL文は、commitメソッドまたはrollbackメソッドへの呼出しによって終了されるトランザクションにグループ化されます。 デフォルトでは、新しい接続は自動コミット・モードです。
- 戻り値:
- 自動コミットが有効な場合は
true
、そうでない場合はfalse
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 関連項目:
-
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。 このメソッドは、Connection
のgetAutoCommit
メソッドをラップして、アプリケーションがJdbcRowSet
トランザクションの動作を設定できるようにします。この
Connection
オブジェクトの現在の自動コミット・モードを設定します。- パラメータ:
autoCommit
- 自動コミットを有効にする場合はtrue
、無効にする場合はfalse
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 関連項目:
-
rollback
void rollback() throws SQLExceptionJdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。 現在のトランザクションにおけるすべての変更を取り消し、現在このConnection
オブジェクトが保持しているすべてのデータベース・ロックを解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet
内のConnection
オブジェクトが自動コミット・モードである場合。- 関連項目:
-
rollback
void rollback(Savepoint s) throws SQLException JdbcRowSet
には、元のResultSet
のConnection
オブジェクトか、それに渡されるJDBCプロパティが含まれます。 現在のトランザクションから最後のセーブポイントの設定までのすべての変更を取り消し、現在このConnection
オブジェクトが保持しているすべてのデータベース・ロックを解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。- パラメータ:
s
- ロールバック先となるSavepoint
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet
内のConnection
オブジェクトが自動コミット・モードである場合。- 関連項目:
-