Conjunto de registros (ODBC)
Este tópico se aplica a classes MFC ODBC.
A CRecordset objeto representa um conjunto de registros selecionados de uma fonte de dados.Os registros podem ser de:
Uma tabela.
Uma consulta.
Um procedimento armazenado que acessa uma ou mais tabelas.
Um exemplo de um conjunto de registros baseado em uma tabela é "todos os clientes", que acessa uma tabela de clientes.Um exemplo de uma consulta é "todas as faturas de Joe Smith." Um exemplo de um conjunto de registros com base em um procedimento armazenado (às vezes chamado de uma consulta predefinida) é "todas as contas devedoras," que chama um procedimento armazenado no banco de dados back-end.Um conjunto de registros pode unir duas ou mais tabelas da mesma fonte de dados, mas não as tabelas de diferentes fontes.
Observação |
---|
Para obter informações sobre a derivação de classes de conjunto de registros com os assistentes, consulte Adicionando um consumidor ODBC do MFC e suporte de banco de dados, o Assistente de aplicativo MFC. |
Observação |
---|
Alguns drivers ODBC oferecem suporte a modos de exibição do banco de dados.Uma exibição nesse sentido é uma consulta criada originalmente com o SQL CREATE VIEW instrução.Os assistentes atualmente não dão suporte a modos de exibição, mas é possível codificar esse suporte. |
Conjunto de registros recursos
Todos os objetos recordset compartilham os seguintes recursos:
Se a fonte de dados não é somente leitura, você pode especificar que o conjunto de registros seja atualizável, appendable, ou somente leitura.Se o conjunto de registros é atualizável, você pode escolher pessimista ou otimista bloqueio métodos, fornecido o driver fornece suporte de bloqueio apropriado.Se a fonte de dados é somente leitura, o conjunto de registros será somente leitura.
Você pode chamar membro funções para rolagem por meio de registros selecionados.
Você pode filtro os registros para restringir quais registros são selecionados entre aqueles disponíveis.
Você pode classificação os registros em ordem, crescente ou decrescente com base em uma ou mais colunas.
Você pode parametrizar o conjunto de registros para qualificar a seleção do conjunto de registros em tempo de execução.
Instantâneos e Dynasets
Há dois tipos principais de conjuntos de registros: instantâneos e dynasets.Ambos são suportados pela classe CRecordset.Cada compartilha as características comuns de todos os conjuntos de registros, mas cada também estende a funcionalidade comum em sua própria maneira especializada.Snapshots oferecem uma exibição estática dos dados e são úteis para relatórios e outras situações em que você deseja uma exibição dos dados como ele existia em um determinado momento.Dynasets são úteis quando você deseja que as atualizações feitas por outros usuários fiquem visíveis no conjunto de registros sem ter que RepetirConsulta ou atualizar o conjunto de registros.Instantâneos e dynasets pode ser atualizável ou somente leitura.Para refletir registros adicionados ou excluídos por outros usuários, chamada CRecordset::Requery.
CRecordsettambém permite que dois outros tipos de conjuntos de registros: conjuntos de registros dinâmicos e conjuntos de registros somente de encaminhamento.Conjuntos de registros dinâmicos são semelhantes às dynasets; No entanto, conjuntos de registros dinâmicos mostre todos os registros adicionados ou excluídos sem chamada CRecordset::Requery.Por esse motivo, conjuntos de registros dinâmicos são geralmente caros em relação ao tempo de processamento no DBMS e muitos drivers ODBC não oferecem suporte a eles.Em contraste, conjuntos de registros somente de encaminhamento fornecem o método mais eficiente de acesso a dados para conjuntos de registros que não exigem atualizações ou para trás.Por exemplo, você pode usar um conjunto de registros somente de encaminhamento para migrar dados de uma fonte de dados para outro, onde você só precisará percorrer os dados em uma direção direta.Para usar um conjunto de registros somente de encaminhamento, você deve fazer o seguinte:
Passar a opção CRecordset::forwardOnly como o nOpenType parâmetro de Abrir função de membro.
Especificar CRecordset::readOnly na dwOptions parâmetro de Abrir.
Observação Para obter informações sobre requisitos de driver ODBC para suporte dynaset, consulte ODBC.Para obter uma lista de drivers ODBC incluído nesta versão do Visual C++ e informações sobre como obter drivers adicionais, consulte Lista de Driver ODBC.
Conjuntos de registros
Para cada tabela distinta, modo de exibição ou procedimento armazenado que você deseja acessar, você geralmente define uma classe derivada de CRecordset.(A exceção é uma associação de banco de dados, um conjunto de registros representa colunas de duas ou mais tabelas.) Quando você derivar uma classe de conjunto de registros, você ativar o mecanismo de troca (RFX) do campo de registro ou o mecanismo de troca (RFX em massa) de campo de registro em massa, que são semelhantes para o mecanismo de troca (DDX) de dados de caixa de diálogo.RFX e RFX em massa simplificam a transferência de dados da fonte de dados no conjunto de registros; Além do RFX transfere dados de registros à fonte de dados.Para obter mais informações, consulte Registro campo Exchange (RFX) e Recordset: buscar registros em massa (ODBC).
Um objeto recordset fornece acesso a todos os registros selecionados.Rolar por vários registros selecionados usando CRecordset funções de membro, como MoveNext e MovePrev.Ao mesmo tempo, um objeto recordset representa apenas um dos registros selecionados, o registro atual.Você pode examinar os campos do registro atual, declarando variáveis de membro de classe que correspondem às colunas da tabela ou os registros resultantes da consulta de banco de dados do conjunto de registros.Para obter informações sobre membros de dados do conjunto de registros, consulte Recordset: arquitetura (ODBC).
Os tópicos seguintes explicam os detalhes do uso de objetos recordset.Os tópicos estão listados em categorias funcionais e uma ordem natural procurar permitir leitura seqüencial.
Tópicos sobre a mecânica de abrir, ler e fechar conjuntos de registros
Tópicos sobre a mecânica de modificação de conjuntos de registros
Tópicos sobre um pouco mais técnicas avançadas
Recordset: Declarando uma classe para uma consulta predefinida (ODBC)
Conjunto de registros: Obtendo somas e outros agregação resultados (ODBC)
Tópicos sobre o funcionam dos conjuntos de registros
Recordset: Como conjuntos de registros selecionar registros (ODBC)
Recordset: Como conjuntos de registros atualizam registros (ODBC)
Consulte também
Tarefas
Adicionando um Consumidor ODBC do MFC