次の方法で共有


入出力処理の推奨事項

コンテナーに存在するファイル ベースの I/O を使用するかどうかを次のデシジョン ツリーの質問に答えることによって妥当性:

アプリケーションのプライマリ データは、ディスク ファイルに入っていますか。

  • ○ (プライマリ データは、ディスク ファイルに入っています:

    アプリケーションを読み取り、ファイル全体をメモリに開いたコンテナーに存在するファイルのコンテナーに存在するファイルを格納しますか? のディスクに書き込むファイル全体をロールバックします

    • ○: これは、既定の MFC ドキュメントの例です。CDocument のシリアル化を使用します。

    • : NO これは、通常はファイルのトランザクション ベースの更新の例です。トランザクションの基本単位のファイルを更新し、 CDocument のシリアル化する必要はありません。

  • NO ディスク ファイルに、プライマリ データ存在しない:

    データは ODBC データ ソースに存在しますか。

    • ○ (データは、 ODBC データ ソースに存在します:

      MFC データベース サポートを使用します。このケースの標準の MFC 実装は、技術情報 MFC データベース プログラミング モデルとは何ですか。に説明されているように CDocument のオブジェクトを渡してストア CDatabase のオブジェクトが格納されます。アプリケーションは、オプション読み取り、 AUX ファイル —アプリケーション ウィザードのオブジェクトをデータベース ビュー 「書き込み、サポート ファイル」することがあります。この場合、 AUX ファイルにシリアル化を使用します。

    • NO ODBC データ ソースに、データ存在しません。

      このケースの例: データは、 ODBC DBMS に存在します; データは、 OLE または DDE などの他の機能で、読み取られます。

      このような場合、シリアル化を使用せず、アプリケーションに開いたが与えられないため、メニュー項目を保存しない場合は。、 CRecordset のオブジェクトを格納するために MFC ODBC アプリケーションがドキュメントを使用するため、ホーム ベースとして CDocument を使用する場合があります。ただし、フレームワークの既定のファイルを開いて保存] ドキュメントのシリアル化使用しません。

開き、メニューのファイルの保存サポートするには、名前を付けて保存] コマンドは、フレームワーク ドキュメントのシリアル化を提供します。シリアル化には、クラス CObjectから、永続ストレージに派生した、オブジェクトを含むデータの、通常、ディスク ファイル読み取ったり書き込んだりします。シリアル化は使いやすく、必要な数だけ機能します、多くのユーザー アプリケーションで不適切場合があります。トランザクションの基本単位の標準アクセス アプリケーションの更新データ。これらは読み取りと書き込みではなくトランザクションによって、データ ファイル反映されたレコードを更新します。

シリアル化については、 追加を参照してください。

参照

概念

シリアル化 : シリアル化とデータベースの入出力