Compartilhar via


MFC: Usando classes de banco de dados sem documentos e modos de exibição

Às vezes, não convém usar/modo de exibição do documento arquitetura da estrutura em seus aplicativos de banco de dados.Este tópico explica:

  • Quando você não precisa usar documentos sistema autônomo serialização de documento.

  • Opções do Assistente de aplicativo para oferecer suporte a aplicativos sem serialização e sem relacionadas a documentos Arquivo menu Comandos, sistema autônomo Novo, em aberto, Salvar, and Salvar sistema autônomo.

  • Como trabalhar com um aplicativo que usa um mínimo de documento.

  • Como estruturar um aplicativo sem documento ou o modo de exibição.

Quando você não será preciso documentos

Alguns aplicativos possuem um conceito distinto de um documento.Esses aplicativos normalmente carrega todas ou a maioria de um arquivo de armazenamento na memória com um em em aberto arquivocomando .Eles regravar o arquivo atualizado de armazenamento ao mesmo tempo com um Salvar arquivo or Salvar sistema autônomocomando .Vê que o usuário é um arquivo de dados.

Algumas categorias de aplicativos, no entanto, não exigem um documento.Os aplicativos de banco de dados são em termos de transações.O aplicativo seleciona os registros de um banco de dados e as apresenta ao usuário, normalmente um por vez.Geralmente é um único registro corrente, que pode ser o único na memória que o usuário vê.

Se seu aplicativo não exigir um documento para o armazenamento de dados, você pode dispensar ou parcial/modo de exibição do documento arquitetura da estrutura.Quanto você dispensar varia de acordo com a abordagem que preferir.Você pode:

  • Use um documento mínimo sistema autônomo um lugar para armazenar uma conexão com sua fonte de dados, mas dispensador de recursos de documento normal, sistema autônomo a serialização.Isso é útil quando você deseja que vários modos de exibição dos dados e deseja sincronizar todos os modos de exibição, atualizá-las todas de uma vez e assim por diante.

  • Use uma janela de quadro, no qual desenhar diretamente, em vez de usar um modo de exibição.Nesse caso, você omite o documento e armazena os dados ou conexões de dados no objeto de janela do quadro.

Aplicativo Assistente opções para documentos e exibições

O Assistente de MFC aplicativo tem várias opções em selecionar o suporte ao banco de dados, que são listados na tabela a seguir.Se você usar o Assistente de aplicativo MFC para criar um aplicativo, todas essas opções produzem aplicativos com documentos e modos de exibição.Algumas opções fornecem documento s e modos de exibição que omita os desnecessários documento funcionalidade.Para obter mais informações, consulte Banco de dados suporte, o Assistente de aplicativo do MFC.

Opção

View

Document

Nenhum

Derivado de CView.

Não fornece suporte a nenhum banco de dados.Essa é a opção padrão.

Se você selecionar o Suporte de arquitetura/visualização de documento opção a Tipo de aplicativo, o Assistente de aplicativo do MFC página, você obtém suporte de documento completo, incluindo serialização e New, em aberto, Salvar, and Salvar sistema autônomo comandos o Arquivo menu.See Aplicativos com nenhum documento.

Somente arquivos de cabeçalho

Derivado de CView.

Fornece o nível básico de suporte ao banco de dados para seu aplicativo.

Inclui Afxdb.h.Adiciona a bibliotecas de vínculo, mas não cria quaisquer classes específicos do banco de dados.Você pode criar conjuntos de registros posteriormente e usá-los para examinar e atualizar registros.

exibição do banco de dados sem suporte a arquivos

Derivado de CRecordView

Fornece suporte de documento, mas não há suporte para serialização.Documento pode armazenar um conjunto de registros e coordenada vários modos de exibição; não oferece suporte para serialização ou o New, em aberto, Salvar, and Salvar sistema autônomo comandos.See Aplicativos com o mínimos de documentos.Se você incluir uma exibição do banco de dados, você deve especificar a fonte de dados.

Inclui arquivos de banco de dados do cabeçalho, bibliotecas de vínculo, um modo de exibição do registro e um conjunto de registros.(Disponível somente para aplicativos com o Suporte de arquitetura/visualização de documento opção selecionada na Tipo de aplicativo, o Assistente de aplicativo do MFC página.)

Banco de dados do modo de exibição com arquivo suporte

Derivado de CRecordView

Fornece suporte completo do documento, incluindo serialização e relacionadas a documentos Arquivo comandos de menu.Aplicativos de banco de dados normalmente operam em uma base por registro em vez de em um arquivo por base e, portanto, não precisam serialização.No entanto, talvez você tenha um uso especial para serialização.See Aplicativos com o mínimos de documentos.Se você incluir uma exibição do banco de dados, você deve especificar a fonte de dados.

Inclui arquivos de banco de dados do cabeçalho, bibliotecas de vínculo, um modo de exibição do registro e um conjunto de registros.(Disponível somente para aplicativos com o Suporte de arquitetura/visualização de documento opção selecionada na Tipo de aplicativo, o Assistente de aplicativo do MFC página.)

Para obter uma discussão sobre Alternativa s para serialização e Alternativa usos para a serialização, consulte Serialização: Serialização vs. Banco de dados de entrada/saída.

Aplicativos com o mínimos de documentos

O Assistente de aplicativos MFC tem duas opções que oferecem suporte a aplicativos de acesso a dados com base em formulário.Cada opção cria um CRecordView-derivado do modo de exibição de classe e um documento. Eles são diferentes em eles saírem check-out do documento.

Documento sem suporte arquivo

selecionar o banco de dados do aplicativo Assistente opção Banco de dados do modo de exibição sem arquivo suporte se você não precisa documentar serialização.O documento tem as seguintes finalidades úteis:

  • Ele é um local conveniente para armazenar um CRecordset objeto.

    Esse uso iguala os conceitos de documento comum: o documento armazena os dados (ou, nesse caso, um conjunto de registros) e o modo de exibição é um modo de exibição do documento.

  • Se seu aplicativo apresenta diversos modos de exibição (sistema autônomo, por exemplo, várias exibições de registros), um documento suporta coordenar sistema autônomo modos de exibição.

    Se vários modos de exibição aparece os mesmos dados, você pode usar o CDocument::UpdateAllViews função de membro para coordenar as atualizações para todos os modos de exibição quando qualquer modo de exibição altera os dados.

Use esta opção para aplicativos baseados em formulário simples.O Assistente de aplicativo suporta uma estrutura conveniente para tais aplicativos automaticamente.

Documento com o suporte arquivo

selecionar o banco de dados do aplicativo Assistente opção exibição do banco de dados com suporte a arquivos quando você tem um uso alternativo para as relacionadas a documentos Arquivo comandos de menu e serialização do documento.Para parte de seu programa de acesso a dados, você pode usar o documento da mesma maneira descrita em Documento sem suporte a arquivos.Você pode usar o recurso de serialização do documento, por exemplo, ler e gravar um documento do analisar de usuário serializado armazena as preferências do usuário ou Outros informações úteis.Para obter mais idéias, consulte Serialização: Serialização vs. Banco de dados de entrada/saída.

O Assistente de aplicativo oferece suporte a essa opção, mas você deve gravar o código que serializa o documento.Armazene as informações serializadas em membros de dados do documento.

Aplicativos com nenhum documento

Às vezes, convém escrever um aplicativo não usa documentos ou modos de exibição.Sem documentos, você armazenar sistema autônomo dados (por exemplo, um CRecordset objeto) em sua classe de janela do quadro ou a classe de aplicativo. Todos os requisitos adicionais dependem se o aplicativo apresenta uma interface de usuário.

Suporte a banco de dados com uma interface de usuário

Se você tiver uma interface de usuário (diferente de, por exemplo, uma interface de linha de comando do console), seu aplicativo desenha diretamente na área de cliente da janela de quadro em vez de em um modo de exibição.Esse aplicativo não usa CRecordView, CFormView, ou CDialog para sua interface de usuário principal, mas normalmente usado CDialog para caixas de diálogo comuns.

Aplicativos de escrita sem documentos

Porque o Assistente de aplicativo não oferece suporte à criação de aplicativos sem documentos, você deve escrever seu próprio CWinApp-classe derivada e, se necessário, também criar um CFrameWnd ou CMDIFrameWnd classe. Substituir CWinApp::InitInstance e declarar um objeto de aplicativo sistema autônomo:

CYourNameApp theApp;

A estrutura ainda fornece o mecanismo de MAP da mensagem e muitos outros recursos.

Banco de dados de suporte separado da interface do usuário

Alguns aplicativos precisam sem interface do usuário ou somente um mínimo.Por exemplo, suponha que você está gravando:

  • Um objeto de acesso a dados intermediários que outros aplicativos (clientes) exigem processamento especial de dados entre o aplicativo e a fonte de dados.

  • Um aplicativo que processa sistema autônomo dados sem a intervenção do usuário, sistema autônomo um aplicativo que move dados de um formato de banco de dados para outro ou que faz cálculos e realiza atualizações lote.

Porque nenhum documento possui a CRecordset ou CDaoRecordset o objeto, você provavelmente deseja armazená-las sistema autônomo um membro de dados incorporados em seu CWinApp-aplicativo classe derivada. As alternativas incluem:

  • Não manter um permanente CRecordset ou CDaoRecordset todo o objeto. Você pode passar NULO para construtores de classe do conjunto de registros.Nesse caso, o estrutura cria um temporária CDatabase ou CDaoDatabase objeto usando as informações do conjunto de registros GetDefaultConnect função de membro. Essa é a abordagem alternativa mais provável.

  • Tornando o CRecordset ou CDaoRecordset objeto de uma variável global. Essa variável deve ser um ponteiro para um objeto de conjunto de registros que você criar dinamicamente seu CWinApp::InitInstance Substitua. Isso evita a tentativa de construir o objeto antes que a estrutura seja inicializada.

  • Usar sistema autônomo objetos de conjunto de registros sistema autônomo faria no contexto de um documento ou um modo de exibição.Crie conjuntos de registros no membro funções de seu aplicativo ou objetos da janela do quadro.

Consulte também

Conceitos

Classes de banco de dados MFC (ODBC e DAO)