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

[目次][用語][索引][前へ][次へ]

4.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クラスの制限事項を,次に示します。

表4-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

(凡例)
○:該当します。
−:該当しません。