Compartilhar via


Recomendações para tratamento de entrada/saída

Se você usar e/S baseado em arquivo ou não depende de como você responder às perguntas na árvore de decisão a seguir:

Os dados primários em seu aplicativo reside em um arquivo de disco?

  • Sim, os dados primários residem em um arquivo de disco:

    O aplicativo ler o arquivo inteiro na memória no arquivo abrir e gravar todo o arquivo em disco no arquivo salvar?

    • Sim: Este é o caso de documento padrão MFC.Use CDocument serialização.

    • Não: Isso normalmente é o caso de atualização baseada em transações do arquivo.Atualizar o arquivo em uma base por transação e não precisar CDocument serialização.

  • Não, os dados primários não residam 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 de banco de dados do MFC.Inclui a implementação do MFC padrão para este caso um CDocument objeto que armazena um CDatabase de objeto, como 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 "um modo de exibição de banco de dados e o arquivo de suportam" opção.Nesse caso, você usaria serialização para o arquivo auxiliar.

    • Não, os dados não residam em uma fonte de dados ODBC.

      Exemplos de caso: os dados residem em um não - ODBC DBMS; os dados são lidos através de outro mecanismo, como, por exemplo, OLE ou DDE.

      Em tais casos, você não usa a serialização e seu aplicativo não tiver aberto e salvar itens de menu.Você ainda poderá usar uma CDocument como uma base inicial, assim como ODBC MFC aplicativo usa o documento para armazenar CRecordset objetos.Mas você não usar a serialização de documento da estrutura padrão arquivo abrir/salvar.

Suporte a abrir, salvar e salvar como comandos no menu Arquivo, o framework fornece a serialização de documento.Serialização lê e grava os dados, incluindo objetos derivados da classe CObject, permanente para armazenamento, normalmente um arquivo de disco.Serialização é fácil de usar e serve muitas das suas necessidades, mas podem ser inadequado em muitos aplicativos de acesso a dados.Aplicativos de acesso a dados normalmente atualizam dados em uma base por transação.Eles atualizarem os registros afetados pela transação em vez de ler e gravar um arquivo de dados toda vez.

Para obter informações sobre a serialização, consulte serialização.

Consulte também

Conceitos

Serialização: Serialização vs. Banco de dados de entrada/saída