1

このJavaチュートリアルから:

RowSet オブジェクトはデフォルトでスクロール可能で更新可能であるため、RowSet オブジェクトに結果セットの内容を移入することで、効果的に結果セットをスクロール可能および更新可能にすることができます。

そして、この後続のJava チュートリアルから:

ResultSet オブジェクトを渡す

JdbcRowSet オブジェクトを作成する最も簡単な方法は、ResultSet オブジェクトを生成し、それを JdbcRowSetImpl コンストラクターに渡すことです。これを行うと、JdbcRowSet オブジェクトが作成されるだけでなく、ResultSet オブジェクトのデータが取り込まれます。

注: JdbcRowSetImpl コンストラクターに渡される ResultSet オブジェクトは、スクロール可能である必要があります。

RowSet オブジェクトがデフォルトでスクロール可能であるのに、なぜ結果セットをスクロール可能にする必要があるのですか? JdbcRowSet で ResultSet をラップすることの主な利点ではないでしょうか。

更新: JdbcRowSet インターフェースを直接参照する:

* JdbcRowSet オブジェクトの主な用途の 1 つは、ResultSet オブジェクトをスクロール可能および更新可能にすることです。*

同じリンクから引用します。

前もって感謝します。

4

1 に答える 1

2

JdbcRowSetImplは、 a の比較的薄いラッパーであるResultsetためResultSet、必要なスクロール機能を提供できるように、 もスクロール可能である必要がありますCachedRowSet

リンク先のチュートリアルとは反対に、com.sun.rowset.JdbcRowSetImplスクロール不可の結果セットをスクロール可能な結果セットに変換しませんResultSet。実装は単純に をラップしてResultSet呼び出しを直接転送するため、 がスクロール可能でない場合、ResultSetもスクロール可能でJdbcRowSetはありません。更新可能性についても同様です。

JdbcRowSet結果セットをスクロール可能にするために使用できる紹介の後に、チュートリアルは矛盾しているようです。

JdbcRowSetオブジェクトで作成されたオブジェクトResultSetは、オブジェクトのラッパーとして機能しResultSetます。RowSetオブジェクト rs はスクロール可能で更新可能であるため、jdbcRsまたスクロール可能で更新可能です。createStatement引数なしでメソッドを実行した場合、rsはスクロール可能または更新可能ではなく、jdbcRs.

(私のものを強調)

于 2013-06-15T08:01:55.133 に答える