Zalecenia dotyczące obsługi we/wy
Niezależnie od tego, czy używasz operacji we/wy opartych na plikach, czy nie, zależy od tego, jak odpowiadasz na pytania w następującym drzewie decyzyjnym:
Czy podstawowe dane w aplikacji znajdują się w pliku dysku
Tak, podstawowe dane znajdują się w pliku dysku:
Czy aplikacja odczytuje cały plik do pamięci w pliku otwórz i zapisz cały plik z powrotem na dysku w pliku Zapisz
Tak: jest to domyślny przypadek dokumentu MFC. Użyj
CDocument
serializacji.Nie: zazwyczaj jest to przypadek aktualizacji pliku opartej na transakcji. Plik jest aktualizowany na podstawie transakcji i nie wymaga
CDocument
serializacji.
Nie, dane podstawowe nie znajdują się w pliku dysku:
Czy dane znajdują się w źródle danych ODBC
Tak, dane znajdują się w źródle danych ODBC:
Korzystanie z obsługi bazy danych MFC. Standardowa implementacja MFC dla tego przypadku obejmuje obiekt, zgodnie z opisem
CDatabase
w artykule MFC: Using Database Classes with Documents and Views (Używanie klas baz danych z dokumentami i widokami). Aplikacja może również odczytywać i zapisywać plik pomocniczy — cel kreatora aplikacji "zarówno widok bazy danych, jak i obsługę plików". W takim przypadku należy użyć serializacji dla pliku pomocniczego.Nie, dane nie znajdują się w źródle danych ODBC.
Przykłady tego przypadku: dane znajdują się w systemach DBMS innych niż ODBC; dane są odczytywane za pośrednictwem innego mechanizmu, takiego jak OLE lub DDE.
W takich przypadkach nie będziesz używać serializacji, a aplikacja nie będzie miała elementów menu Otwórz i Zapisz. Nadal możesz chcieć użyć
CDocument
elementu jako bazy macierzystej, tak jak aplikacja MFC ODBC używa dokumentu do przechowywaniaCRecordset
obiektów. Nie będziesz jednak używać domyślnej serializacji pliku podczas otwierania/zapisywania dokumentu w strukturze.
Aby obsługiwać polecenia Otwórz, Zapisz i Zapisz jako w menu Plik, platforma udostępnia serializacji dokumentów. Serializacja odczytuje i zapisuje dane, w tym obiekty pochodzące z klasy CObject
, do magazynu trwałego, zwykle pliku dysku. Serializacja jest łatwa w użyciu i spełnia wiele Twoich potrzeb, ale może być nieodpowiednia w wielu aplikacjach dostępu do danych. Aplikacje dostępu do danych zwykle aktualizują dane na podstawie poszczególnych transakcji. Aktualizują rekordy, których dotyczy transakcja, zamiast odczytywać i zapisywać cały plik danych jednocześnie.
Aby uzyskać informacje na temat serializacji, zobacz Serializacja.
Zobacz też
Serializacja: serializacja a dane wejściowe/wyjściowe bazy danych