Recomendações para controle de entrada/saída
Se você usar E/s com base em arquivo ou não depende de como responder às perguntas na árvore de decisão seguintes:
Dados principais em seu aplicativo reside em um arquivo de disco?
Sim, os dados primários residem em um arquivo de disco:
O aplicativo ler todo o arquivo na memória em em em aberto arquivo e gravar todo o arquivo de volta para disco em Salvar arquivo?
Sim: Esse é o caso de documento padrão MFC.Use CDocument serialização.
Não: Isso normalmente é o caso de atualização de baseados em transações do arquivo.Você atualização o arquivo em uma base por transação e não precisar CDocument serialização.
Não, os dados primários não residem em um arquivo de disco:
Os dados reside em uma fonte de dados ODBC?
Sim, os dados residem em uma fonte de dados ODBC:
Use o suporte a banco de dados do MFC.A implementação padrão da MFC para esta caso inclui um CDocument objeto que armazena um CDatabase objeto, conforme discutido no artigo O que é o modelo de programação de banco de dados MFC?.O aplicativo também pode ler e gravar um arquivo auxiliar — o objetivo do Assistente de aplicativo "de um modo de exibição do banco de dados e o arquivo de suportam" opção.Nesse caso, você usaria a serialização para o arquivo auxiliar.
Não, os dados não residir em uma fonte de dados ODBC.
Exemplos de caso: sistema autônomo dados residem em um não-ODBC DBMS; sistema autônomo dados são lidos por meio de Outros mecanismo, sistema autônomo, por exemplo, OLE ou DDE.
Nesses casos, você não usa a serialização e seu aplicativo não tem de em em aberto e salvar itens de menu.Talvez você ainda deseja usar um CDocument sistema autônomo uma base de residência, assim sistema autônomo um aplicativo ODBC do MFC usa o documento para armazenar CRecordset objetos. Mas você não usar a serialização da estrutura padrão arquivo em em aberto/Salvar documento.
Para oferecer suporte a em em aberto, salvar e salvar sistema autônomo comandos no menu Arquivo, a estrutura oferece serialização do documento.Serialização lê e grava os dados, incluindo objetos derivada da classe CObject, para um armazenamento permanente, normalmente um arquivo de disco. Serialização é fácil de usar e serve várias das suas necessidades, mas possam ser inadequada em muitos aplicativos de acesso a dados.Aplicativos de acesso a dados normalmente atualização dados em uma base por transação.Eles atualizam os registros afetados pela transação em vez de ler e gravar um arquivo de dados inteira ao mesmo tempo.
Para obter informações sobre a serialização, consulte Serialização.
Consulte também
Conceitos
Serialização: Serialização versus banco de dados entrada/saída