Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


18.16 ResultSetクラス

説明

ResultSetクラスでは,主に次の機能を提供します。

  • 行単位のResultSet内の移動

  • 結果データの返却

  • 検索結果データがNULL値かどうかの通知

ResultSetクラスの提供する各メソッドの詳細および使用方法については,JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項
  • マルチスレッド

    一つのResultSetオブジェクトを複数のスレッドで並行して使用する場合の動作は保証しません。

    一つのResultSetオブジェクトは一つのスレッドで処理してください。

  • setFetchSizeメソッドの使用について

    Statementクラスの注意事項を参照してください。

  • HiRDBのホールダブルカーソル機能の使用について

    DABroker Libraryでは,HiRDBのホールダブルカーソル機能を使用することによって,複数のコミットにわたってカーソルを保持できます。使用するためには,接続時にプロパティまたはURLにHIRDB_CURSOR=trueを設定するか,DataSourceクラスのsetHiRDBCursorMode(true)を設定する必要があります。

  • ResultSetのクローズ

    プーリング使用時(ConnectionPoolDataSourceを使用した接続),およびXA使用時(XADataSourceを使用した接続)でResultSetのcloseメソッド実行中にデータベースとの物理的な切断でエラーが発生しコネクションプーリングが使用できなくなった場合,ConnectionEventListener.connectionErrorOccurredは発生しません。

制限事項

DABroker Libraryで使用するResultSetクラスの制限事項を,次に示します。

表18‒83 ResultSetクラスの制限事項

メソッド名

制限事項

JDBC1.0での制限

JDBC2.0での制限

close

ステートメントのクローズ時,または次のSQL実行時に暗黙的にクローズします。プーリング使用時(ConnectionPoolDataSourceを使用した接続),およびXA使用時(XADataSourceを使用した接続)でResultSet.closeメソッド実行中にデータベースとの物理的な切断でエラーが発生しコネクションプーリングが使用できなくなった場合ConnectionEventListener.connectionErrorOccurredは発生しません。

cancelRowUpdates

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

deleteRow

findColumn

指定された列名がResultSetオブジェクトに含まれていないため列インデックスが取得できない場合,SQLExceptionをスローします。

absolute

absolute(-2)と指定した場合,カーソルは最終行の前の行へ移動します。

afterLast

結果セットに行がない場合,何も処理しません。

beforeFirst

cancelRowUpdates

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

deleteRow

getArray

SQL配列型をサポートしていないため,無条件にSQLExceptionをスローします。

getBlob

接続データベースがHiRDB,Oracle9i,またはOracle10g以外の場合,SQL LONGVARBINARY型およびSQL BLOB型をサポートしていないため,無条件にSQLExceptionをスローします。

getClob

接続データベースがOracle9i,またはOracle10g以外の場合,SQL CLOB型をサポートしていないため,無条件にSQLExceptionをスローします。

getFetchSize

0,またはsetFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より小さい場合はsetFetchSizeメソッドで指定された値を,setFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より大きい場合はsetMaxRowsメソッドで指定された値を返却します。

getRef

SQL構造化型をサポートしていないため,無条件にSQLExceptionをスローします。

isFirst

結果セットに行がない場合falseを返却します。

isLast

結果セットに行がない場合falseを返却します。

insertRow

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

moveToCurrentRow

moveToInsertRow

previous

カーソルの移動方向がnextメソッドと逆方向になります。

refreshRow

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

relative

結果セットに行がない場合SQLExceptionをスローします。カーソルが先頭行の前,または最終行の後ろにある場合は有効として処理します。処理結果が結果セットの先頭行,最終行を超える場合はそれぞれ先頭行の前,最終行の後ろへ移動します。

rowDeleted

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

rowInserted

rowUpdated

setFetchDirection

FETCH_FORWARD以外を指定した場合,SQLExceptionをスローします。

setFetchSize

接続データベース種別がHiRDB,またはORACLEの場合で,CLOBやBLOBなどのLONG VARCHAR・LONG VARBINARY型データ列の検索を含まないときだけ有効となります。

updateAsciiStream

更新可能型ResultSetをサポートしていないため,無条件にSQLExceptionをスローします。

updateBigDecimal

updateBinaryStream

updateBoolean

updateByte

updateBytes

updateCharacterStream

updateDate

updateDouble

updateFloat

updateInt

updateLong

updateNull

updateObject

updateRow

updateShort

updateString

updateTime

updateTimestamp

(凡例)

○:該当します。

−:該当しません。