共用方式為


處理輸入/輸出的建議

您是否使用檔案結構輸出入與否,端視您如何回應下列決策樹中的問題而定:

不會在應用程式中的主資料常駐在磁碟檔案

  • 沒錯,主資料常駐在磁碟檔案:

    應用程式不會將整個檔案讀入記憶體,在 [開啟舊檔並將整個檔案寫回磁碟上儲存檔案嗎?

    • 是: 這是預設的 MFC 文件大小寫。 使用 CDocument 序列化。

    • 否: 這通常是交易式更新檔案的大小寫。 更新檔案,以每筆交易為基礎,而不需 CDocument 序列化。

  • 否,主資料並未常駐於磁碟檔案:

    資料是否常駐在 ODBC 資料來源中?

    • 是,資料會散佈於 ODBC 資料來源:

      使用 MFC 的資料庫支援。 包含標準 MFC 實作這個屬性的 CDocument 儲存物件CDatabase物件、 文件中所述 MFC 資料庫程式設計模型是什麼?. 應用程式也可能會讀取並寫入一個輔助檔,應用程式精靈 」 的資料庫檢視和檔案支援兩者 」 選項的目的。 如此一來,您也可以為此輔助檔案使用序列化。

    • 否,資料未常駐在 ODBC 資料來源。

      此類型的範例: 資料散佈在非 ODBC DBMS ; 透過其他機制,例如 OLE 或 DDE 讀取資料。

      在這種情況下,您將不會使用序列化,且您的應用程式將不會有開啟及儲存的功能表項目。 您仍然可以使用 CDocument 作為基地,就如同 MFC ODBC 應用程式使用文件來儲存CRecordset物件。 但是,您就不會使用架構的預設檔案開啟/儲存文件序列化。

若要儲存 」、 「 支援 [開啟],並另存成指令,在 [檔案] 功能表上,此架構提供文件序列化。 序列化讀取及寫入資料,包括物件衍生自類別CObject,到永久儲存,通常是磁碟檔案。 序列化會很容易使用,並做許多您的需求,但它可能不適用於許多資料存取應用程式。 資料存取應用程式通常會更新每筆交易為基礎的資料。 這些更新的記錄受到交易而不是讀取和寫入整個資料檔案一次。

關於序列化的資訊,請參閱序列化

請參閱

概念

序列化: 序列化 vs。 資料庫輸入/輸出