Recomendações para manusear entrada/saída
Se você usar E/S baseado em arquivo ou não depende de como você responder a perguntas na árvore de decisão:
Os dados primários em seu aplicativo residem em um arquivo de disco?
Sim, os dados primários reside em um arquivo de disco:
O aplicativo lê o arquivo inteiro na memória em Abrir Arquivo e grava todo o arquivo de volta no disco em salvar de Arquivos?
Sim: Esse é o caso de documento MFC da opção. Use a serialização de CDocument .
Não: Normalmente isso é os exemplos de atualização de transação com base do arquivo. Atualize o arquivo em uma base por transação e não precisar a serialização de CDocument .
Contrário, os dados primários não reside em um arquivo de disco:
Os dados residem em uma fonte de dados ODBC?
Sim, os dados reside em uma fonte de dados ODBC:
Use o suporte da base de dados de MFC. A implementação de MFC padrão para estes casos inclui um objeto de CDocument que armazena um objeto de CDatabase , como descrito no artigo Que é o modelo de programação da base de dados de MFC?. O aplicativo também pode ler e gravar um arquivo auxiliar — o objetivo do assistente de aplicativo “uma exibição de base de dados e opção de suporte do arquivo”. Nesse caso, você usaria a serialização do arquivo auxiliar.
Contrário, os dados não reside em uma fonte de dados ODBC.
Exemplos disso casos: os dados residem no DBMS não ODBC; os dados são lidos por meio de qualquer outro mecanismo, como OLE ou DDE.
Nesses casos, você não usará a serialização, e o aplicativo não terá Abrir e não salvar itens de menu. Você ainda pode querer usar CDocument como uma base de operações, como um aplicativo MFC ODBC usa o documento para armazenar objetos de CRecordset . Mas não usará serialização do documento de Arquivo padrão Abrir/gravação da estrutura.
Para oferecer suporte à abertura, salve, e salve como comandos no menu arquivo, a estrutura fornecem a serialização do documento. Leituras de serialização e grava dados, inclusive objetos derivados da classe CObject, ao armazenamento permanente, normalmente um arquivo de disco. A serialização é fácil usar e tem muitas de suas necessidades, mas pode ser inadequada em muitos aplicativos de acesso a dados. Os aplicativos de acesso a dados normalmente atualizam dados em uma base por transação. Atualiza os registros afetados pela transação em vez da leitura e a gravação um arquivo de dados inteiro imediatamente.
Para obter informações sobre a serialização, consulte Serialização.
Consulte também
Conceitos
Serialização: serialização em comparação com entrada/saída do banco de dados