次の方法で共有


CDaoDatabase::Close

更新 : 2007 年 11 月

データベースとの接続を切り、データベースに関連付けられていて、開かれているレコードセット、テーブル定義、クエリ定義を閉じます。

virtual void Close( );

解説

このメンバ関数を呼び出す前に、各オブジェクトを閉じることをお勧めします。CDaoDatabase オブジェクトを閉じることは、関連付けられた CDaoWorkspace クラス の Databases コレクションから、オブジェクト自身を取り除くことです。ただし、CloseCDaoDatabase オブジェクトを破棄しないため、同じデータベースまたは違うデータベースを開くことにより、再利用できます。

4c1ssz66.alert_caution(ja-jp,VS.90).gif注意 :

データベースを閉じる前に、開いているすべてのレコードセット オブジェクトに対して、Update メンバ関数 (保留状態の編集がある場合) と、Close メンバ関数を呼び出します。スタック上に CDaoRecordset オブジェクトまたは CDaoDatabase オブジェクトを宣言している関数を終了すると、データベースは閉じられ、保存されていない変更は失われ、保留状態のトランザクションはすべてロールバックされ、データに対する編集はすべて失われます。

4c1ssz66.alert_caution(ja-jp,VS.90).gif注意 :

レコードセット オブジェクトが開かれているときにデータベース オブジェクトを閉じようとしたり、ワークスペースに所属するデータベース オブジェクトが開かれているときにそのワークスペース オブジェクトを閉じようとしたりすると、そのレコードセット オブジェクトは閉じられ、保留状態の更新や編集はロールバックされます。ワークスペースに所属するデータベース オブジェクトが開かれているときにそのワークスペース オブジェクトを閉じようとすると、その操作はワークスペースに所属するすべてのデータベース オブジェクトを閉じ、その結果閉じられていないレコードセット オブジェクトを閉じることもあります。データベース オブジェクトを閉じないと、MFC はデバッグ ビルドで、アサーションの失敗を報告します。

データベース オブジェクトが関数のスコープ外で定義されていて、閉じずにその関数を終了すると、データベース オブジェクトは明示的に閉じられるか、または定義したモジュールがスコープ外となるまで開かれたまま残ります。

必要条件

ヘッダー : afxdao.h

参照

参照

CDaoDatabase クラス

階層図

CDaoDatabase::Open

CDaoRecordset::Close

CDaoWorkspace::Close

CDaoQueryDef::Close

CDaoTableDef::Close

その他の技術情報

CDaoDatabase のメンバ