JavaTM Platform
Standard Ed. 6

javax.sql.rowset
インタフェース JdbcRowSet

すべてのスーパーインタフェース:
Joinable, ResultSet, RowSet, Wrapper

public interface JdbcRowSet
extends RowSet, Joinable

JdbcRowSet のすべての標準実装が実装しなければならない標準インタフェースです。

1.0 概要

結果セットを JavaBeansTM コンポーネントとして使用できるようにする ResultSet オブジェクトのラッパーです。したがって、JdbcRowSet オブジェクトは、ツールがアプリケーションの組み立てに利用できる Beans の 1 つになります。JdbcRowSet は接続された行セットなので、JDBC テクノロジを使用可能なドライバを使ってデータベース接続を継続して保持します。 また、ドライバを事実上の JavaBeans コンポーネントにします。  

常にデータベースに接続されているので、JdbcRowSet のインスタンスは、この接続上で呼び出しを行い、続いてこれらをその ResultSet オブジェクト上で呼び出します。その結果、たとえば結果セットは、Swing アプリケーションのコンポーネントになります。  

JdbcRowSet オブジェクトのもう 1 つの利点は、ResultSet オブジェクトにスクロール機能と更新機能を持たせることができる点にあります。すべての RowSet オブジェクトは、デフォルトで、スクロール機能と更新機能を備えています。使用するドライバとデータベースが結果セットのスクロール機能や更新機能をサポートしない場合、アプリケーションは JdbcRowSet オブジェクトに ResultSet オブジェクトのデータを移植し、あたかも ResultSet オブジェクトのように JdbcRowSet オブジェクトを操作することができます。  

2.0JdbcRowSet オブジェクトの作成

JdbcRowSet インタフェースのリファレンス実装、JdbcRowSetImpl は、デフォルトコンストラクタの実装を提供します。新しいインスタンスは、デフォルト値で初期化されます。 その後、必要に応じて新しい値を設定できます。新しいインスタンスは、execute メソッドが呼び出されるまで、実際には機能しません。通常、このメソッドは次の処理を行います。 execute メソッドは、成功した場合、適切な private JdbcRowSet フィールドに次の項目を設定します。 これらのフィールドが設定されていない場合は、execute メソッドが正常に実行されなかったことになります。 行セット上では、executeclose 以外のメソッドは呼び出せません。したがって、その他の 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 オブジェクトが接続されているかどうかによって要件が異なることを考慮した結果です。  


フィールドの概要
 
インタフェース 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 には、ResultSetConnection オブジェクトか、コンストラクタに渡される JDBC プロパティーが含まれます。
 boolean getAutoCommit()
          JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。
 RowSetWarning getRowSetWarnings()
          この JdbcRowSet オブジェクト上の呼び出しによって報告された最初の警告を取得します。
 boolean getShowDeleted()
          削除マークが付けられた行を現在の行とともに表示するかどうかを示す boolean を取得します。
 void rollback()
          JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。
 void rollback(Savepoint s)
          JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。
 void setAutoCommit(boolean autoCommit)
          JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される 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
 

メソッドの詳細

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 オブジェクト上に 2 番目の警告が報告された場合、この警告は最初の警告にチェーンされます。 よって、2 番目の警告は、最初の警告に対して RowSetWarning.getNextWarning メソッドを呼び出すことで取得できます。この JdbcRowSet オブジェクト上の後続の警告は、RowSetWarning.getNextWarning メソッドによって返される RowSetWarning オブジェクトにチェーンされます。 警告チェーンは、新しい行が読み込まれるたびに自動的にクリアされます。このメソッドはクローズされた RowSet オブジェクトの呼び出しには使用しません。 使用すると SQLException がスローされます。  

JdbcRowSet オブジェクトは、常にデータソースに接続されているので、アクティブな StatementConnection、および ResultSet インスタンスの存在に依存することができます。つまり、アプリケーションは、これらが提供する getNextWarning メソッドを呼びだすことで、追加の SQLWarning 通知を取得できることになります。CachedRowSet オブジェクトなど、未接続の Rowset オブジェクトは、これらの getNextWarning メソッドにアクセスできません。

戻り値:
この JdbcRowSet オブジェクト上で報告された 最初の RowSetWarning オブジェクト。 ない場合は null
例外:
SQLException - このメソッドが、 閉じられた JdbcRowSet オブジェクト上で呼び出された場合
関連項目:
RowSetWarning

commit

void commit()
            throws SQLException
JdbcRowSet には、ResultSetConnection オブジェクトか、コンストラクタに渡される JDBC プロパティーが含まれます。このメソッドは、Connection コミットメソッドをラップして、柔軟な自動コミットまたは非自動コミットのトランザクション制御サポートを提供します。  

直前のコミット/ロールバック以降に行われた変更をすべて有効とし、この Connection オブジェクトが現在保持するデータベースロックをすべて解除します。このメソッドは自動コミットモードが無効になっているときしか使用できません。

例外:
SQLException - データベースアクセスエラーが発生した場合、 またはこの JdbcRowSet 内の Connection オブジェクトが自動コミットモードである場合
関連項目:
Connection.setAutoCommit(boolean)

getAutoCommit

boolean getAutoCommit()
                      throws SQLException
JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。このメソッドは、ConnectiongetAutoCommit メソッドをラップして、アプリケーションが JdbcRowSet トランザクションの動作を確認できるようにします。  

この接続の自動コミットモードを指定された状態に設定します。接続が自動コミットモードの場合、そのすべての SQL 文は実行され、個別のトランザクションとしてコミットされます。そうでない場合、その SQL 文は、commit メソッドまたは rollback メソッドへの呼び出しによって終了されるトランザクションにグループ化されます。デフォルトでは、新しい接続は自動コミットモードです。

例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
Connection.getAutoCommit()

setAutoCommit

void setAutoCommit(boolean autoCommit)
                   throws SQLException
JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。このメソッドは、ConnectiongetAutoCommit メソッドをラップして、アプリケーションが JdbcRowSet トランザクションの動作を設定できるようにします。  

この Connection オブジェクトの現在の自動コミットモードを設定します。

例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
Connection.setAutoCommit(boolean)

rollback

void rollback()
              throws SQLException
JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。現在のトランザクションにおけるすべての変更を取り消し、現在この Connection オブジェクトが保持しているすべてのデータベースロックを解除します。このメソッドは自動コミットモードが無効になっているときしか使用できません。

例外:
SQLException - データベースアクセスエラーが発生した場合、 またはこの JdbcRowSet 内の Connection オブジェクトが自動コミットモードである場合
関連項目:
rollback(Savepoint)

rollback

void rollback(Savepoint s)
              throws SQLException
JdbcRowSet には、元の ResultSetConnection オブジェクトか、それに渡される JDBC プロパティーが含まれます。現在のトランザクションから最後の setSavepoint までのすべての変更を取り消し、現在この Connection オブジェクトが保持しているすべてのデータベースロックを解除します。このメソッドは自動コミットモードが無効になっているときしか使用できません。

例外:
SQLException - データベースアクセスエラーが発生した場合、 またはこの JdbcRowSet 内の Connection オブジェクトが自動コミットモードである場合
関連項目:
rollback()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。