Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode usar as classes de banco de dados MFC com ou sem a arquitetura de documento/exibição. Este tópico enfatiza o trabalho com documentos e vistas. Explica:
Como escrever um aplicativo baseado em formulário usando um
CRecordViewobjeto como a exibição principal em seu documento.Como usar objetos de conjunto de registros em seus documentos e exibições.
Para obter alternativas, consulte MFC: Usando classes de banco de dados sem documentos e exibições.
Escrevendo um aplicativo Form-Based
Muitos aplicativos de acesso a dados são baseados em formulários. A interface do usuário é um formulário que contém controles nos quais o usuário examina, insere ou edita dados. Para basear o formulário de inscrição, use a classe CRecordView. Quando você executa o MFC Application Wizard e seleciona o tipo de cliente ODBC na página Database Support , o projeto usa CRecordView para a classe view.
Em um aplicativo baseado em formulário, cada objeto de exibição de registro armazena um ponteiro para um CRecordset objeto. O mecanismo de intercâmbio de campos de registo (RFX) da estrutura troca dados entre o conjunto de registos e a fonte de dados. O mecanismo de intercâmbio de dados de diálogo (DDX) troca dados entre os membros de dados de campo do objeto do conjunto de registros e os controles no formulário.
CRecordView também fornece funções padrão de manipulador de comandos para navegar entre registros no formulário.
Para criar um aplicativo baseado em formulário com o assistente de aplicativo, consulte Criando um aplicativo MFC Forms-Basede suporte a banco de dados, MFC Application Wizard.
Para uma discussão completa sobre os formulários, consulte Vistas de Registo.
Usando conjuntos de registros em documentos e modos de exibição
Muitas aplicações simples baseadas em formulários não necessitam de documentos. Se seu aplicativo for mais complexo, você provavelmente deseja usar um documento como proxy para o banco de dados, armazenando um CDatabase objeto que se conecta à fonte de dados. As aplicações baseadas em formulário geralmente armazenam um ponteiro para um objeto de registos na vista. Outros tipos de aplicativos de banco de dados armazenam conjuntos de registros e CDatabase objetos no documento. Eis algumas possibilidades de utilização de documentos em aplicações de bases de dados:
Se você estiver acessando um conjunto de registros em um contexto local, crie um
CRecordsetobjeto localmente nas funções de membro do documento ou da exibição, conforme necessário.Declare um objeto de conjunto de registros como uma variável local em uma função. Passe NULL para o construtor, o que faz com que a estrutura crie e abra um objeto temporário
CDatabasepara você. Como alternativa, passe um ponteiro para umCDatabaseobjeto. Use o conjunto de registros dentro da função e deixe-o ser destruído automaticamente quando a função for encerrada.Quando você passa NULL para um construtor de conjunto de registros, a estrutura usa informações retornadas pela função de membro do conjunto de
GetDefaultConnectregistros para criar umCDatabaseobjeto e abri-lo. Os assistentes implementamGetDefaultConnectpara você.Se você estiver acessando um conjunto de registros durante o tempo de vida do documento, incorpore um ou mais
CRecordsetobjetos no documento.Construa os objetos do conjunto de registros ao inicializar o documento ou conforme necessário. Você pode escrever uma função que retorna um ponteiro para o conjunto de registros se ele já existir, ou constrói e abre o conjunto de registros caso ainda não exista. Feche, exclua e recrie o conjunto de registros conforme necessário ou chame sua
Requeryfunção de membro para atualizar os registros.Se você estiver acessando uma fonte de dados durante o tempo de vida do documento, incorpore um
CDatabaseobjeto ou armazene um ponteiro para umCDatabaseobjeto nele.O
CDatabaseobjeto gerencia uma conexão com sua fonte de dados. O objeto é construído automaticamente durante a construção do documento e chama-se a sua função-membroOpenquando inicializa o documento. Ao construir objetos de conjunto de registros em funções de membro do documento, você passa um ponteiro para o objeto doCDatabasedocumento. Isso associa cada conjunto de registros à sua fonte de dados. O objeto de banco de dados geralmente é destruído quando o documento é fechado. Os objetos do conjunto de registros normalmente são destruídos quando saem do escopo de uma função.
Outros fatores
Os aplicativos baseados em formulário geralmente não têm nenhum uso para o mecanismo de serialização de documentos da estrutura, portanto, talvez você queira remover, desabilitar ou substituir os comandos Novo e Abrir no menu Arquivo . Consulte o artigo Serialização: Serialização vs. Entrada/Saída de Banco de Dados.
Você também pode querer fazer uso das muitas possibilidades de interface do usuário que a estrutura pode suportar. Por exemplo, você pode usar vários CRecordView objetos em uma janela de divisão, abrir vários conjuntos de registros em diferentes janelas filhas de interface de documento múltiplo (MDI) e assim por diante.
Você pode querer implementar a impressão de qualquer coisa que esteja na sua vista, seja um formulário implementado com CRecordView ou outra coisa. Como classes derivadas de CFormView, CRecordView não suporta impressão, mas você pode substituir a função de membro para permitir a OnPrint impressão. Para obter mais informações, consulte classe CFormView.
Talvez não queiras usar documentos e vistas. Nesse caso, consulte MFC: Usando classes de banco de dados sem documentos e exibições.