CDaoWorkspace::Rollback
更新 : 2007 年 11 月
現在のトランザクションを終了し、ワークスペースのすべてのデータベースを、トランザクションが開始される前の状態に戻します。
void Rollback( );
解説
注意 : |
---|
1 つのワークスペース オブジェクト内では、トランザクションはワークスペースに対して常にグローバルであり、1 つのデータベースやレコードセットに限定されることはありません。ワークスペース トランザクション内で複数のデータベースまたはレコードセットに対する操作を実行すると、Rollback は、そのすべてのデータベースまたはレコードセットに対するすべての操作を元に戻します。 |
保留状態のトランザクションを保存またはロールバックせずにワークスペースを閉じると、トランザクションは自動的にロールバックされます。最初に BeginTrans を呼び出さずに、CommitTrans または Rollback を呼び出すと、エラーが発生します。
メモ : |
---|
トランザクションを開始すると、データベース エンジンは、ワークステーションの環境変数 TEMP で指定されるディレクトリに置かれるファイルに、その操作を記録します。トランザクション ログ ファイルが TEMP ドライブの利用できるストレージを使い果たすと、データベース エンジンは MFC に CDaoException (DAO エラー 2004) をスローさせます。この時点で、CommitTrans を呼び出すと、いくつかの操作がコミットされますがその数は不定です。コミットされなかった残りの操作は失われ、その後操作が再開されます。Rollback を呼び出すと、トランザクション ログは解放され、トランザクションのすべての操作はロールバックされます。 |
必要条件
ヘッダー : afxdao.h