public interface JdbcRowSet extends RowSet, Joinable
JdbcRowSet のすべての標準実装が実装しなければならない標準インタフェースです。
ResultSet オブジェクトのラッパーです。したがって、JdbcRowSet オブジェクトは、ツールがアプリケーションの組み立てに利用できる Beans の 1 つになります。JdbcRowSet は接続された行セットなので、JDBC テクノロジを使用可能なドライバを使ってデータベース接続を継続して保持します。また、ドライバを事実上の JavaBeans コンポーネントにします。
常にデータベースに接続されているので、JdbcRowSet のインスタンスは、この接続上で呼び出しを行い、続いてこれらをその ResultSet オブジェクト上で呼び出します。その結果、たとえば結果セットは、Swing アプリケーションのコンポーネントになります。
JdbcRowSet オブジェクトのもう 1 つの利点は、ResultSet オブジェクトにスクロール機能と更新機能を持たせることができる点にあります。すべての RowSet オブジェクトは、デフォルトで、スクロール機能と更新機能を備えています。使用するドライバとデータベースが結果セットのスクロール機能や更新機能をサポートしない場合、アプリケーションは JdbcRowSet オブジェクトに ResultSet オブジェクトのデータを移植し、あたかも ResultSet オブジェクトのように JdbcRowSet オブジェクトを操作することができます。
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 の実装は、CachedRowSetTM リファレンス実装内の実装とは異なっています。これは、RowSet オブジェクトが接続されているかどうかによって要件が異なることを考慮した結果です。
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 値を設定します。 |
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, setUsernameabsolute, 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, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNullisWrapperFor, unwrapgetMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumnboolean getShowDeleted()
throws SQLException
boolean を取得します。true が返された場合、削除行は現在の行とともに表示されます。false が返された場合、削除行は現在の行のセット内に表示されません。デフォルト値は false です。
標準行セット実装は、セキュリティー上の配慮または特定の配備シナリオに適合させるため、この動作を制限することができます。削除された行の可視性は実装によって定義され、標準の動作を表しません。
注:削除された行を表示すると、一部の標準 JDBC RowSet 実装メソッドの動作が複雑になります。しかし、削除された行を表示する機能は、非常に専門的なアプリケーションでしか使用されません。したがって、ほとんどの行セットユーザーは、この設定を無視してかまいません。
true、そうでない場合は falseSQLException - 行セット実装が、削除行が表示されたままになるかどうかを判断できない場合setShowDeleted(boolean)void setShowDeleted(boolean b)
throws SQLException
showDeleted プロパティーに、指定された boolean 値を設定します。このプロパティーにより、削除行を現在の行セット内に引き続き表示するかどうかが決定します。値が true の場合、削除された行が現在の行セットとともに表示されます。値が false の場合、削除された行は現在の行セット内に表示されません。
標準行セット実装は、セキュリティー上の配慮または特定の配備シナリオに適合させるため、この動作を制限することができます。これは定義済みの実装として残され、標準の動作を表しません。
b - 削除された行を表示する場合は true、そうでない場合は falseSQLException - 行セット実装が、削除行の表示または非表示の設定をリセットできない場合getShowDeleted()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 オブジェクト。ない場合は nullSQLException - このメソッドがクローズされた JdbcRowSet オブジェクトで呼び出された場合RowSetWarningvoid 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 トランザクションの動作を確認できるようにします。
この接続の自動コミットモードを指定された状態に設定します。接続が自動コミットモードの場合、そのすべての SQL 文は実行され、個別のトランザクションとしてコミットされます。そうでない場合、その SQL 文は、commit メソッドまたは rollback メソッドへの呼び出しによって終了されるトランザクションにグループ化されます。デフォルトでは、新しい接続は自動コミットモードです。
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 プロパティーが含まれます。現在のトランザクションから最後の setSavepoint までのすべての変更を取り消し、現在この Connection オブジェクトが保持しているすべてのデータベースロックを解除します。このメソッドは自動コミットモードが無効になっているときしか使用できません。SQLException - データベースアクセスエラーが発生した場合、またはこの JdbcRowSet 内の Connection オブジェクトが自動コミットモードである場合。rollback() バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.