Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Um modo de exibição que exibe registros de banco de dados em controles.
Sintaxe
class AFX_NOVTABLE CRecordView : public CFormView
Membros
Construtores Protegidos
| Nome | Description |
|---|---|
| CRecordView::CRecordView | Constrói um CRecordView objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CRecordView::IsOnFirstRecord | Retorna diferente de zero se o registo atual for o primeiro registo no conjunto de registos associado. |
| CRecordView::IsOnLastRecord | Retorna diferente de zero se o registo atual for o último registo no conjunto de registos associado. |
| CRecordView::OnGetRecordset | Devolve um ponteiro para um objeto de uma classe derivada de CRecordset. O ClassWizard sobrepõe esta função por si e cria o conjunto de registos se necessário. |
| CRecordView::OnMove |
Métodos Protegidos
| Nome | Description |
|---|---|
| CRecordView::OnMove | Se o registo atual mudou, atualiza-o na fonte de dados e depois passa para o registo especificado (próximo, anterior, primeiro ou último). |
Observações
A vista é uma vista de forma diretamente ligada a um CRecordset objeto. A vista é criada a partir de um recurso de template de diálogo e apresenta os campos do CRecordset objeto nos controlos do template de diálogo. O CRecordView objeto utiliza a troca de dados de diálogo (DDX) e a troca de campos de registo (RFX) para automatizar o movimento de dados entre os controlos do formulário e os campos do conjunto de registos.
CRecordView também fornece uma implementação padrão para mover para o primeiro, próximo, anterior ou último registo e uma interface para atualizar o registo atualmente em visualização.
Observação
Se estiver a trabalhar com as classes Data Access Objects (DAO) em vez das classes Open Database Connectivity (ODBC), use a classe CDaoRecordView em vez disso. Para mais informações, consulte o artigo Visão Geral: Programação de Bases de Dados.
A forma mais comum de criar a sua visualização de registos é através do Application Wizard. O Assistente de Aplicação cria tanto a classe de visualização de registos como a sua classe de conjunto de registos associada como parte da sua aplicação inicial esqueleto. Se não criar a classe de visualização de registos com o Application Wizard, pode criá-la mais tarde com o ClassWizard. Se precisares apenas de um único formulário, a abordagem do Application Wizard é mais fácil. O ClassWizard permite-te decidir usar uma vista de registo mais tarde no processo de desenvolvimento. Usar o ClassWizard para criar uma visualização de registos e um conjunto de registos separadamente e depois ligá-los é a abordagem mais flexível porque dá-te mais controlo na nomeação da classe do conjunto de registos e do seu conjunto. H/. Ficheiros CPP. Esta abordagem também permite ter múltiplas vistas de registo na mesma classe de registos.
Para facilitar a passagem dos utilizadores finais de registo em registo na vista de registo, o Assistente de Aplicação cria recursos de menu (e opcionalmente barra de ferramentas) para mover para o primeiro, próximo, anterior ou último registo. Se criares uma classe de visualização de registos com o ClassWizard, tens de criar esses recursos tu próprio com o menu e os editores de bitmap.
Para informações sobre a implementação padrão para passar de registo em registo, veja IsOnFirstRecord e IsOnLastRecord e o artigo Using a Record View.
CRecordView mantém o acompanhamento da posição do utilizador no conjunto de registos para que a vista de registos possa atualizar a interface do utilizador. Quando o utilizador se move para qualquer uma das extremidades do conjunto de registos, a vista de registo desativa objetos da interface do utilizador — como itens do menu ou botões da barra de ferramentas — para que se movam mais longe na mesma direção.
Para mais informações sobre como declarar e utilizar as suas classes de visualização de registos e conjuntos de registos, consulte "Desenhar e Criar uma Vista de Registo" no artigo Visualizações de Registo. Para mais informações sobre como funcionam as visualizações de registo e como as utilizar, consulte o artigo Utilização de uma Visualização de Registo.
Hierarquia de herança
CRecordView
Requerimentos
Cabeçalho: afxdb.h
CRecordView::CRecordView
Quando crias um objeto de um tipo derivado de CRecordView, chama qualquer uma das formas do construtor para inicializar o objeto da vista e identificar o recurso de diálogo em que a vista se baseia.
explicit CRecordView(LPCTSTR lpszTemplateName);
explicit CRecordView(UINT nIDTemplate);
Parâmetros
lpszTemplateName
Contém uma cadeia terminada por null que é o nome de um recurso template de diálogo.
nIDTemplate
Contém o número de ID de um recurso de template de diálogo.
Observações
Pode identificar o recurso pelo nome (passar uma cadeia como argumento ao construtor) ou pelo seu ID (passar um inteiro sem sinal como argumento). Recomenda-se usar um ID de recurso.
Observação
A sua classe derivada deve fornecer o seu próprio construtor. No construtor da sua classe derivada, chame o construtor CRecordView::CRecordView com o nome ou ID do recurso como argumento, como mostrado no exemplo abaixo.
CRecordView::OnInitialUpdate chama UpdateData, que chama DoDataExchange. Esta chamada inicial liga DoDataExchangeCRecordView controlos (indiretamente) a CRecordset membros de dados de campo criados pelo ClassWizard. Estes membros de dados não podem ser usados até depois de chamar a função membro da classe CFormView::OnInitialUpdate base.
Observação
Se usar o ClassWizard, o assistente define um enum valor CRecordView::IDD, especifica-o na declaração de classe e usa-o na lista de inicialização de membros para o construtor.
Example
CMyRecordView::CMyRecordView()
: CRecordView(CMyRecordView::IDD)
{
m_pSet = NULL;
// TODO: add construction code here
}
CRecordView::IsOnFirstRecord
Chame esta função membro para determinar se o registo atual é o primeiro registo no objeto de registos associado a esta vista de registo.
BOOL IsOnFirstRecord();
Valor de retorno
Não nulo se o registo atual for o primeiro registo no conjunto de registos; caso contrário, 0.
Observações
Esta função é útil para escrever as suas próprias implementações de manipuladores de atualização de comandos predefinidos escritos pelo ClassWizard.
Se o utilizador se mover para o primeiro registo, o framework desativa quaisquer objetos da interface de utilizador que tenhas para se moverem para o primeiro ou para o registo anterior.
CRecordView::IsOnLastRecord
Chame esta função membro para determinar se o registo atual é o último registo no objeto de registos associado a esta vista de registo.
BOOL IsOnLastRecord();
Valor de retorno
Diferente de zero se o registo atual for o último registo no conjunto de registos; caso contrário, 0.
Observações
Esta função é útil para escrever as suas próprias implementações dos manipuladores de atualização de comandos predefinidos que o ClassWizard escreve para suportar uma interface de utilizador para passar de registo em registo.
Atenção
O resultado desta função é fiável, exceto que a vista não pode detetar o fim do conjunto de registos até que o utilizador o ultrapasse. O utilizador deve ultrapassar o último registo antes que a visualização do registo possa perceber que deve desativar quaisquer objetos da interface de utilizador para passar para o registo seguinte ou último. Se o utilizador ultrapassar o último registo e depois voltar ao último registo (ou antes dele), a vista de registo pode rastrear a posição do utilizador no conjunto de registos e desativar corretamente os objetos da interface do utilizador.
IsOnLastRecord é também pouco fiável após uma chamada à função OnRecordLastde implementação , que gere o comando ID_RECORD_LAST, ou CRecordset::MoveLast.
CRecordView::OnGetRecordset
Devolve um ponteiro para o CRecordsetobjeto derivado em associado à vista de registo.
virtual CRecordset* OnGetRecordset() = 0;
Valor de retorno
Um ponteiro para um CRecordsetobjeto derivado em se o objeto foi criado com sucesso; caso contrário, um ponteiro NULL.
Observações
Deve sobrescrever esta função membro para construir ou obter um objeto de recordet e devolver um ponteiro para ele. Se declarares a tua classe de visualização de registos com o ClassWizard, o assistente escreve um override por defeito para ti. A implementação por defeito do ClassWizard devolve o ponteiro do conjunto de registos armazenado na vista de registo, caso exista. Caso contrário, constrói um objeto de recordet do tipo que especificaste com o ClassWizard e chama a sua Open função membro para abrir a tabela ou executar a consulta, devolvendo depois um ponteiro para o objeto.
Para mais informações e exemplos, consulte o artigo Visualizações de Registo: Utilização de uma Visualização de Registo.
CRecordView::OnMove
Chame esta função membro para mover para um registo diferente no conjunto de registos e mostrar os seus campos nos controlos da vista de registo.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parâmetros
nIDMoveCommand
Um dos seguintes valores padrão de ID de comando:
ID_RECORD_FIRST Avançar para o primeiro registo do conjunto de registos.
ID_RECORD_LAST Avançar para o último registo do conjunto de registos.
ID_RECORD_NEXT Passar para o próximo registo no conjunto de registos.
ID_RECORD_PREV Avançar para o registo anterior no conjunto de registos.
Valor de retorno
Não zero se a jogada fosse bem-sucedida; caso contrário, 0 se o pedido de mudança for recusado.
Observações
A implementação padrão chama a função membro apropriada Move do CRecordset objeto associada à vista de registo.
Por defeito, OnMove atualiza o registo atual na fonte de dados se o utilizador o tiver alterado na vista de registo.
O Assistente de Aplicação cria um recurso de menu com os itens do menu Primeiro Registo, Último Registo, Próximo Registo e Registo Anterior. Se selecionar a opção Barra de Ferramentas Acoplável, o Assistente de Aplicações também cria uma barra de ferramentas com botões correspondentes a estes comandos.
Se ultrapassar o último registo no conjunto de registos, a vista de registo continua a mostrar o último registo. Se recuar para além do primeiro registo, a visualização de registo continua a mostrar o primeiro registo.
Atenção
A chamada OnMove lança uma exceção se o conjunto de registros não tiver registros. Chame a função responsável pela atualização da interface de utilizador apropriada — OnUpdateRecordFirst, OnUpdateRecordLast, OnUpdateRecordNext, ou OnUpdateRecordPrev — antes da operação de transferência correspondente para determinar se o conjunto de registos tem algum registo.
Consulte também
Classe CFormView
Gráfico de Hierarquia
Classe CRecordset
Classe CFormView