次の方法で共有


CDaoWorkspace::Rollback

現在のトランザクションを終了し、ワークスペースのすべてのデータベースを、トランザクションが開始される前の状態に戻します。

void Rollback( );

解説

ヒント

1 つのワークスペース オブジェクト内では、トランザクションはワークスペースに対して常にグローバルであり、1 つのデータベースやレコードセットに限定されることはありません。 ワークスペース トランザクション内で複数のデータベースまたはレコードセットに対する操作を実行すると、Rollback は、そのすべてのデータベースまたはレコードセットに対するすべての操作を元に戻します。

保留状態のトランザクションを保存またはロールバックせずにワークスペースを閉じると、トランザクションは自動的にロールバックされます。 最初に BeginTrans を呼び出さずに、CommitTrans または Rollback を呼び出すと、エラーが発生します。

注意

トランザクションを開始すると、データベース エンジンは、ワークステーションの環境変数 TEMP で指定されるディレクトリに置かれるファイルに、その操作を記録します。 トランザクション ログ ファイルが TEMP ドライブの利用できるストレージを使い果たすと、データベース エンジンは MFC に CDaoException (DAO エラー 2004) をスローさせます。 この時点で、CommitTrans を呼び出すと、いくつかの操作がコミットされますがその数は不定です。コミットされなかった残りの操作は失われ、その後操作が再開されます。 Rollback を呼び出すと、トランザクション ログは解放され、トランザクションのすべての操作はロールバックされます。

必要条件

**ヘッダー:**afxdao.h

参照

参照

CDaoWorkspace クラス

階層図

CDaoRecordset クラス

その他の技術情報

CDaoWorkspace のメンバー