Conjunto de registros (ODBC)
Este tópico se aplica às classes ODBC do MFC.
Um objeto de CRecordset 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 com base em uma tabela é “todos os clientes”, que acessa uma tabela de cliente. Um exemplo de uma consulta é “todas as faturas para 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 de delinquente”, que chamar um procedimento armazenado no base de dados back-end. Um conjunto de registros pode adicionar duas ou mais tabelas da mesma fonte de dados, mas não tabelas de diferentes fontes de dados.
Dica
Para obter informações sobre a derivação o conjunto de registros com classifica os assistentes, consulte Adicionando um consumidor de MFC ODBC e Suporte de base de dados do aplicativo, o assistente MFC.
Dica
Exibições de suporte de alguns drivers ODBC da base de dados.Uma exibição é nesse sentido uma consulta criada originalmente com a instrução SQL CREATE VIEW .Os assistentes atualmente eles não dão suporte a exibições, mas é possível codificar esse suporte você mesmo.
Recursos do conjunto de registros
Todos os objetos do conjunto de registros compartilham os seguintes recursos:
Se a fonte de dados não é somente leitura, você pode especificar que o conjunto de registros é atualizável, appendable, ou somente leitura. Se o conjunto de registros é atualizável, você pode escolher métodos pessimistas ou otimistas de bloqueio , desde que o driver fornece suporte apropriado de bloqueio. Se a fonte de dados for somente leitura, o conjunto de registros será somente leitura.
Você pode chamar funções de membro a rolagem por meio de registros selecionados.
Você pode filtro os registros restringir-se a qual os registros são selecionados disponível.
Você pode tipo os registros em ordem crescente ou decrescente, com base em uma ou mais colunas.
Você pode parametrizar o conjunto de registros qualificar a seleção do conjunto de registros em tempo de execução.
Instantâneos e Dynasets
Há dois tipos principais conjuntos de registros: instantâneos e dynasets. Ambos são suportados pela classe CRecordset. Cada compartilha as características comum de todos os conjuntos de registros, mas cada também estende a funcionalidade comum em sua própria forma especializada. Os instantâneos fornecem uma exibição estática dos dados e são úteis para os relatórios e as outras situações em que você deseja uma exibição dos dados conforme existiam em um determinado momento. Dynasets é útil quando você deseja que as atualizações feitas por outros usuários seja visível no conjunto de registros sem ter que você consulte novamente ou para atualizar o conjunto de registros. Os instantâneos e os dynasets podem ser atualizada ou somente leitura. Para refletir registros adicionou ou excluídas por outros usuários, chame CRecordset::Requery.
CRecordset também permite que os outros dois tipos de conjuntos de registros: conjuntos de registros dinâmicos e conjuntos de registros de somente avanço. Os conjuntos de registros dinâmicos são semelhantes a dynasets; no entanto, os conjuntos de registros dinâmicos refletem todos os registros adicionados ou excluídos sem chamar CRecordset::Requery. Por esse motivo, os conjuntos de registros dinâmicos são geralmente caros em relação à hora de processamento no DBMS, e muitos drivers ODBC não oferecem suporte a. Ao contrário, os conjuntos de registros de somente avanço fornecem o método mais eficaz de acesso a dados para os conjuntos de registros que não requerem atualizações ou de rolagem para trás. Por exemplo, você pode usar um conjunto de registros somente avanço para migrar dados de uma fonte de dados para outra, onde você só precisa mover com os dados em direção para frente. Para usar um conjunto de registros somente avanço, você deve fazer o seguinte:
Passar a opção CRecordset::forwardOnly como o parâmetro de nOpenType da função de membro de Abrir .
Especifique CRecordset::readOnly no parâmetro de dwOptions de Abrir.
Dica
Para obter informações sobre os requisitos de driver ODBC para suporte ao dynaset, consulte ODBC.Para obter uma lista de drivers ODBC incluídos nesta versão do Visual C++ e para obter informações sobre como obter drivers adicionais, consulte Lista de driver ODBC.
Os conjuntos de registros
Para cada tabela distinta, a exibição, ou o procedimento armazenado que deseja acessar, você definirá normalmente uma classe derivada de CRecordset. (A exceção é uma junção do base de dados, na qual o conjunto de registros representa colunas de duas ou mais tabelas.) Quando você deve derivar uma classe do conjunto de registros, você permite que o mecanismo de troca do campo de registro (RFX) ou o mecanismo em massa de troca do campo de registro (RFX em massa), que são semelhantes ao mecanismo de troca de dados da caixa de diálogo (DDX). RFX e o volume RFX simplificam a transferência de dados da fonte de dados no conjunto de registros; Além disso RFX transfere dados do conjunto de registros na fonte de dados. Para obter mais informações, consulte Exchange campo de registro (RFX) e Conjunto de registros: Buscando registros em massa (ODBC).
Um objeto do conjunto de registros fornece acesso a todos os registros selecionados. O rolar por meio de registros selecionados usando várias funções de membro de CRecordset , como MoveNext e MovePrev. Ao mesmo tempo, um objeto do conjunto de registros representa apenas um dos registros selecionados, o registro atual. Você pode examinar os campos do registro atual declarando variáveis do membro da classe do conjunto de registros que correspondem às colunas da tabela ou dos registros que resultam de consulta da base de dados. Para obter informações sobre membros de dados do conjunto de registros, consulte Conjunto de registros: Arquitetura (ODBC).
Os tópicos a seguir explicam os detalhes de usar objetos do conjunto de registros. Os tópicos são listados em categorias funcionais e um natural na ordem sequencial a permitir leitura.
Tópicos sobre os mecanismos de abertura, de leitura, e fechar conjuntos de registros
Conjunto de registros: Declarando uma classe para uma tabela (ODBC)
Conjunto de registros: Criando e fechando conjuntos de registros (ODBC)
Conjunto de registros: Indicadores e posições absolutas (ODBC)
Conjunto de registros: A parametrização de um conjunto de registros (ODBC)
Tópicos sobre os mecanismos de conjuntos de registros de alteração
Conjunto de registros: Adicionando, atualizando e excluindo registros (ODBC)
Conjunto de registros: Consultar um conjunto de registros (ODBC)
Tópicos sobre técnicas um pouco mais avançados
Conjunto de registros: Declarando uma classe para uma consulta predefinido (ODBC)
Conjunto de registros: Colunas de dados dinamicamente associação (ODBC)
Conjunto de registros: Trabalhar com grandes itens de dados (ODBC)
Conjunto de registros: Obtendo somas e outro a agregação resultados (ODBC)
Os tópicos sobre como os conjuntos de registros funcionam
Conjunto de registros: Como os conjuntos de registros selecione os registros (ODBC)
Conjunto de registros: Como registros de atualização dos conjuntos de registros (ODBC)
Consulte também
Tarefas
Adicionando um Consumidor ODBC do MFC