Classe COleDBRecordView
Uma exibição que mostra registros de banco de dados em controles.
Sintaxe
class COleDBRecordView : public CFormView
Membros
Construtores Protegidos
Nome | Descrição |
---|---|
COleDBRecordView::COleDBRecordView | Constrói um objeto COleDBRecordView . |
Métodos públicos
Nome | Descrição |
---|---|
COleDBRecordView::OnGetRowset | Retorna um valor HRESULT padrão. |
COleDBRecordView::OnMove | Atualizações o registro atual (se sujo) na fonte de dados e, em seguida, passa para o registro especificado (próximo, anterior, primeiro ou último). |
Comentários
A exibição é uma exibição de formulário conectada diretamente a um objeto CRowset
. O modo de exibição é criado com base em um recurso de modelo de caixa de diálogo e exibe os campos do objeto CRowset
nos controles do modelo de caixa de diálogo. O objeto COleDBRecordView
usa a DDX (troca de dados de caixa de diálogo) e a funcionalidade de navegação interna para CRowset
para automatizar a movimentação de dados entre os controles no formulário e os campos do conjunto de linhas. COleDBRecordView
também fornece uma implementação padrão para mover para o primeiro, próximo, anterior ou último registro e uma interface para atualizar o registro atualmente em exibição.
Você pode usar funções DDX com COleDbRecordView
para obter dados diretamente do conjunto de registros do banco de dados e exibi-los em um controle de caixa de diálogo. Você deve usar os métodos DDX_*
(como DDX_Text
), não as funções DDX_Field*
(como DDX_FieldText
) com COleDbRecordView
. DDX_FieldText
não funcionará com COleDbRecordView
porque DDX_FieldText
usa um argumento adicional de tipo CRecordset*
(para CRecordView
) ou CDaoRecordset*
(para CDaoRecordView
).
Observação
Se você estiver trabalhando com as classes DAO (Objetos de Acesso a Dados) em vez das classes de Modelo de Consumidor OLE DB, use a classe CDaoRecordView. Para obter mais informações, confira o artigo Visão geral: programação de banco de dados.
COleDBRecordView
mantém o controle da posição do usuário no conjunto de linhas para que o modo de exibição de registro possa atualizar a interface do usuário. Quando o usuário se move para o final do conjunto de linhas, o modo de exibição de registro desabilita objetos de interface do usuário, como itens de menu ou botões da barra de ferramentas, para se mover mais na mesma direção.
Para mais informações sobre classes de conjunto de linhas, confira o artigo Como usar modelos de consumidor OLE DB .
Hierarquia de herança
COleDBRecordView
Requisitos
Cabeçalho: afxoledb.h
COleDBRecordView::COleDBRecordView
Constrói um objeto COleDBRecordView
.
COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);
Parâmetros
lpszTemplateName
Contém uma cadeia de caracteres terminada em nulo que é o nome de um recurso de modelo de caixa de diálogo.
nIDTemplate
Contém o número de ID de um recurso de modelo de caixa de diálogo.
Comentários
Ao criar um objeto de um tipo COleDBRecordView
derivado, invoque um dos construtores para criar o objeto de exibição e identifique o recurso de caixa de diálogo no qual a exibição se baseia. Você pode identificar o recurso pelo nome (passe uma cadeia de caracteres como o argumento para o construtor) ou por sua ID (passe um inteiro sem sinal como o argumento).
Observação
Sua classe derivada deve fornecer um construtor próprio. No construtor, invoque o construtor, COleDBRecordView::COleDBRecordView
, com o nome do recurso ou a ID como um argumento.
COleDBRecordView::OnGetRowset
Retorna um identificador para o objeto CRowset<> associado à exibição de registro.
virtual CRowset<>* OnGetRowset() = 0;
Valor de retorno
Um valor HRESULT padrão.
Comentários
Você deve substituir essa função de membro para construir ou obter um objeto de conjunto de linhas e retornar um identificador para ele. Se você declarar sua classe de exibição de registro com ClassWizard, o assistente gravará uma substituição padrão para você. A implementação padrão do ClassWizard retornará o identificador de conjunto de linhas armazenado na exibição de Registro, se houver um. Caso contrário, construirá um objeto de conjunto de linhas do tipo especificado com ClassWizard e chamará sua função de membro Open
para abrir a tabela ou executar a consulta e retornará um identificador para o objeto.
Observação
Antes do MFC 7.0, OnGetRowset
retornava um ponteiro para CRowset
. Se você tiver um código que chama OnGetRowset
, será necessário alterar o tipo de retorno para a classe com modelo CRowset<>.
Exemplo
CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();
// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();
Para mais informações e exemplos, confira o artigo Exibições de registro: como usar uma exibição de registro.
COleDBRecordView::OnMove
Move para um registro diferente no conjunto de linhas e exibe seus campos nos controles da exibição de registro.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parâmetros
nIDMoveCommand
Um dos seguintes valores de ID de comando padrão:
ID_RECORD_FIRST – mover para o primeiro registro no conjunto de registros.
ID_RECORD_LAST – mover para o último registro no conjunto de registros.
ID_RECORD_NEXT – mover para o próximo registro no conjunto de registros.
ID_RECORD_PREV – mover para o registro anterior no conjunto de registros.
Valor de retorno
Diferente de zero se a movimentação foi bem-sucedida; caso contrário, 0 se a solicitação de movimentação foi negada.
Comentários
A implementação padrão chama a função de membro Move
apropriada do objeto CRowset
associado ao modo de exibição de registro.
Por padrão, OnMove
atualiza o registro atual na fonte de dados se o usuário o tiver alterado no modo de exibição de registro.
O Assistente de Aplicativo cria um recurso de menu com itens de menu Primeiro Registro, Último Registro, Próximo Registro e Registro Anterior. Se você selecionar a opção Barra de Ferramentas Encaixada, o Assistente de Aplicativo também criará uma barra de ferramentas com botões correspondentes a esses comandos.
Se você passar do último registro no conjunto de registros, a exibição de registro continuará a exibir o último registro. Se você passar para trás após o primeiro registro, o modo de exibição de registro continuará a exibir o primeiro registro.