CDaoDatabase::Close
更新 : 2007 年 11 月
データベースとの接続を切り、データベースに関連付けられていて、開かれているレコードセット、テーブル定義、クエリ定義を閉じます。
virtual void Close( );
解説
このメンバ関数を呼び出す前に、各オブジェクトを閉じることをお勧めします。CDaoDatabase オブジェクトを閉じることは、関連付けられた CDaoWorkspace クラス の Databases コレクションから、オブジェクト自身を取り除くことです。ただし、Close は CDaoDatabase オブジェクトを破棄しないため、同じデータベースまたは違うデータベースを開くことにより、再利用できます。
注意 : |
---|
データベースを閉じる前に、開いているすべてのレコードセット オブジェクトに対して、Update メンバ関数 (保留状態の編集がある場合) と、Close メンバ関数を呼び出します。スタック上に CDaoRecordset オブジェクトまたは CDaoDatabase オブジェクトを宣言している関数を終了すると、データベースは閉じられ、保存されていない変更は失われ、保留状態のトランザクションはすべてロールバックされ、データに対する編集はすべて失われます。 |
注意 : |
---|
レコードセット オブジェクトが開かれているときにデータベース オブジェクトを閉じようとしたり、ワークスペースに所属するデータベース オブジェクトが開かれているときにそのワークスペース オブジェクトを閉じようとしたりすると、そのレコードセット オブジェクトは閉じられ、保留状態の更新や編集はロールバックされます。ワークスペースに所属するデータベース オブジェクトが開かれているときにそのワークスペース オブジェクトを閉じようとすると、その操作はワークスペースに所属するすべてのデータベース オブジェクトを閉じ、その結果閉じられていないレコードセット オブジェクトを閉じることもあります。データベース オブジェクトを閉じないと、MFC はデバッグ ビルドで、アサーションの失敗を報告します。 |
データベース オブジェクトが関数のスコープ外で定義されていて、閉じずにその関数を終了すると、データベース オブジェクトは明示的に閉じられるか、または定義したモジュールがスコープ外となるまで開かれたまま残ります。
必要条件
ヘッダー : afxdao.h