Udostępnij za pośrednictwem


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 przechowywania CRecordset 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