|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface JdbcRowSet
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
の実装は、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.Joinable から継承されたメソッド |
---|
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn |
メソッドの詳細 |
---|
boolean getShowDeleted() throws SQLException
boolean
を取得します。true
が返された場合、削除行は現在の行とともに表示されます。false
が返された場合、削除行は現在の行のセット内に表示されません。デフォルト値は false
です。
標準行セット実装は、セキュリティ上の配慮または特定の配備シナリオに適合させるため、この動作を制限することができます。削除された行の可視性は実装によって定義され、標準の動作を表しません。
注: 削除された行を表示すると、一部の標準 JDBC RowSet
実装メソッドの動作が複雑になります。しかし、削除された行を表示する機能は、非常に専門的なアプリケーションでしか使用されません。したがって、ほとんどの行セットユーザは、この設定を無視してかまいません。
true
、そうでない場合は false
SQLException
- 行セット実装が、削除行が表示されたままになるかどうかを判断できない場合setShowDeleted(boolean)
void setShowDeleted(boolean b) throws SQLException
showDeleted
プロパティに、指定された boolean
値を設定します。このプロパティにより、削除行を現在の行セット内に引き続き表示するかどうかが決定します。値が true
の場合、削除された行が現在の行セットとともに表示されます。値が false
の場合、削除された行は現在の行セット内に表示されません。
標準行セット実装は、セキュリティ上の配慮または特定の配備シナリオに適合させるため、この動作を制限することができます。これは定義済みの実装として残され、標準の動作を表しません。
b
- 削除された行を表示する場合は true
、そうでない場合は false
SQLException
- 行セット実装が、削除行の表示または非表示の設定をリセットできない場合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
オブジェクト。ない場合は 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
トランザクションの動作を確認できるようにします。
この接続の自動コミットモードを指定された状態に設定します。接続が自動コミットモードの場合、そのすべての 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()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。