Compartilhar via


Recomendações para lidar com entrada/saída

Se você usa e/S baseada em arquivo ou não depende de como você responde às perguntas na seguinte árvore de decisão:

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

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

    O aplicativo lê todo o arquivo na memória no Arquivo Aberto e grava todo o arquivo de volta no disco no Salvamento de Arquivos

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

    • Não: esse normalmente é o caso da atualização baseada em transações do arquivo. Você atualiza o arquivo por transação e não precisa de CDocument serialização.

  • Não, os dados primários não residem em um arquivo de disco:

    Os dados residem em uma fonte de dados ODBC

    • Sim, os dados residem em uma fonte de dados ODBC:

      Use o suporte ao banco de dados do MFC. A implementação padrão do MFC para esse caso inclui um CDatabase objeto, conforme discutido no artigo MFC: Usando classes de banco de dados com documentos e exibições. O aplicativo também pode ler e gravar um arquivo auxiliar – a finalidade do assistente de aplicativo "uma exibição de banco de dados e suporte a arquivos". Nesse caso, você usaria a serialização para o arquivo auxiliar.

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

      Exemplos desse caso: os dados residem em um DBMS não ODBC; os dados são lidos por meio de algum outro mecanismo, como OLE ou DDE.

      Nesses casos, você não usará a serialização e seu aplicativo não terá itens de menu Abrir e Salvar. Talvez você ainda queira usar uma CDocument base como base inicial, assim como um aplicativo ODBC MFC usa o documento para armazenar CRecordset objetos. Mas você não usará a serialização de documentos padrão do Arquivo Aberto/Salvar da estrutura.

Para dar suporte aos comandos Abrir, Salvar e Salvar como no menu Arquivo, a estrutura fornece serialização de documentos. A serialização lê e grava dados, incluindo objetos derivados da classe CObject, para armazenamento permanente, normalmente um arquivo de disco. A serialização é fácil de usar e atende a muitas de suas necessidades, mas pode ser inadequada em muitos aplicativos de acesso a dados. Os aplicativos de acesso a dados normalmente atualizam dados por transação. Eles atualizam os registros afetados pela transação em vez de ler e gravar um arquivo de dados inteiro ao mesmo tempo.

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

Consulte também

Serialização: serialização em comparação com entrada/saída do banco de dados