rollBack()

現行接続と関連付けられているアクティブなトランザクションをロールバックします。

構文

void rollBack()
 

パラメーター

なし。

戻り値

なし。

例外

CwDBTransactionException

注記

rollback() メソッドは、現行接続に関連付けられているデータベースに加えられた変更をロールバックすることによって、アクティブ・トランザクションを終了します。beginTransaction()commit()、および rollBack() メソッドはともに、明示的なトランザクションに対するトランザクション境界の管理を提供します。このトランザクションには、SQL 照会 (SQL ステートメント INSERT、DELETE、または UPDATE を含む) と、これらの SQL ステートメントの 1 つを含むストアード・プロシージャーとが含まれます。ロールバックが失敗すると、rollback()CwDBTransactionException 例外をスローして、エラーを記録します。

要確認:
rollback() は、接続が明示的なトランザクション・ブラケットを使用しているときにのみ使用してください。接続が暗黙的なトランザクション・ブラケットを使用しているときに rollback() を使用すると、CwDBTransactionException 例外が発生します。

接続が解放される前に rollback() (または commit()) を使用して明示的なトランザクションを終了しないと、コラボレーションが成功したかどうかに基づいて InterChange Server Express によって暗黙的にトランザクションが終了されます。コラボレーションが成功の場合、ICS は、このデータベース・トランザクションをコミットします。コラボレーションが成功ではない 場合、ICS は、このデータベース・トランザクションを暗黙的にロールバックします。コラボレーションが成功かどうかにかかわらず、ICS は警告を記録します。

明示的なトランザクションを開始する前に、getDBConnection() メソッドを使用して BaseCollaboration クラスから CwDBConnection オブジェクトを作成しておく必要があります。この接続では、明示的なトランザクション・ブラケットを必ず使用してください。

rollback() を使用したトランザクションの管理の例は、"明示的なトランザクション・ブラケットのあるトランザクション・スコープ"の例を参照してください。

関連項目

"トランザクションの管理"

beginTransaction()commit()getDBConnection()inTransaction()

Copyright IBM Corp. 2004