Empfehlungen zur Eingabe-/Ausgabebehandlung
Ob Sie dateibasierte E/A verwenden oder nicht, hängt davon ab, wie Sie auf die Fragen in der folgenden Entscheidungsstruktur antworten:
Befindet sich die primären Daten in Ihrer Anwendung in einer Datenträgerdatei.
Ja, die primären Daten befinden sich in einer Datenträgerdatei:
Liest die Anwendung die gesamte Datei im Arbeitsspeicher unter "Datei öffnen" und schreibt die gesamte Datei wieder auf den Datenträger unter "Datei speichern".
Ja: Dies ist der Standard-MFC-Dokumentfall. Verwenden Sie
CDocument
die Serialisierung.Nein: Dies ist in der Regel der Fall bei der transaktionsbasierten Aktualisierung der Datei. Sie aktualisieren die Datei pro Transaktion und benötigen
CDocument
keine Serialisierung.
Nein, die primären Daten befinden sich nicht in einer Datenträgerdatei:
Befindet sich die Daten in einer ODBC-Datenquelle
Ja, die Daten befinden sich in einer ODBC-Datenquelle:
Verwenden Sie die Datenbankunterstützung von MFC. Die standardmäßige MFC-Implementierung für diesen Fall enthält ein
CDatabase
Objekt, wie im Artikel MFC erläutert: Verwenden von Datenbankklassen mit Dokumenten und Ansichten. Die Anwendung kann auch eine Hilfsdatei lesen und schreiben – der Zweck des Anwendungs-Assistenten "sowohl eine Datenbankansicht als auch dateiunterstützung". In diesem Fall verwenden Sie die Serialisierung für die Hilfsdatei.Nein, die Daten befinden sich nicht in einer ODBC-Datenquelle.
Beispiele für diesen Fall: Die Daten befinden sich in einem NICHT-ODBC-DBMS; die Daten werden über einen anderen Mechanismus gelesen, z. B. OLE oder DDE.
In solchen Fällen verwenden Sie keine Serialisierung, und Ihre Anwendung verfügt nicht über Menüelemente "Öffnen" und "Speichern". Möglicherweise möchten Sie trotzdem eine
CDocument
home-Basis verwenden, ebenso wie eine MFC ODBC-Anwendung das Dokument zum SpeichernCRecordset
von Objekten verwendet. Sie verwenden jedoch nicht die standardmäßige Serialisierung von "Datei öffnen/speichern" des Frameworks.
Um die Befehle "Öffnen", "Speichern" und "Speichern unter" im Menü "Datei" zu unterstützen, stellt das Framework die Serialisierung von Dokumenten bereit. Die Serialisierung liest und schreibt Daten, einschließlich Von der Klasse CObject
abgeleiteter Objekte, in permanenten Speicher, normalerweise eine Datenträgerdatei. Serialisierung ist einfach zu verwenden und dient vielen Ihrer Anforderungen, kann aber in vielen Anwendungen für den Datenzugriff unangemessen sein. Datenzugriffsanwendungen aktualisieren in der Regel Daten pro Transaktion. Sie aktualisieren die von der Transaktion betroffenen Datensätze, anstatt eine ganze Datendatei gleichzeitig zu lesen und zu schreiben.
Informationen zur Serialisierung finden Sie unter Serialisierung.
Siehe auch
Serialisierung: Serialisierung im Vergleich zur Datenbankeingabe/-ausgabe