Recordset: Criando e fechar conjuntos de registros (ODBC)

Este tópico se aplica a classes MFC ODBC.

Para usar um conjunto de registros, construir um objeto recordset e chamar seus Abrir função de membro para executar a consulta do conjunto de registros e selecionar registros.Quando você concluir o conjunto de registros, fechar e destruir o objeto.

Este tópico explica:

  • Quando e como criar um objeto recordset.

  • Quando e como você pode qualificar o comportamento do conjunto de registros por parametrização, filtragem, classificação ou bloqueá-lo.

  • Quando e como fechar um objeto recordset.

Criando conjuntos de registros em tempo de execução

Antes de criar objetos recordset em seu programa, você normalmente gravar classes de conjunto de registros específicos do aplicativo.Para obter mais informações sobre esta etapa preliminar, consulte Adicionando um consumidor ODBC do MFC.

Abra um objeto dynaset ou snapshot quando você precisa selecionar registros de uma fonte de dados.O tipo de objeto para criar depende o que você precisa fazer com os dados em seu aplicativo e seu driver de ODBC oferece suporte.Para obter mais informações, consulte Dynaset e instantâneo.

Para abrir um conjunto de registros

  1. Construir um objeto de sua CRecordset-classe derivada.

    Você pode construir o objeto no heap ou no quadro de pilha de uma função.

  2. Opcionalmente, modificar o comportamento do conjunto de registros padrão.Para as opções disponíveis, consulte Configurando opções de conjunto de registros.

  3. Chamar o objeto Abrir função de membro.

No construtor, passar um ponteiro para um CDatabase de objeto ou passar Nulo usar temporário objeto de banco de dados da estrutura constrói e abre com base na seqüência de conexão retornada pelo GetDefaultConnect função de membro.O CDatabase objeto talvez já esteja conectado a uma fonte de dados.

A chamada para Abrir usa SQL para selecionar registros da fonte de dados.O primeiro registro selecionado (se houver) é o registro atual.Os valores dos campos do registro são armazenados em membros de dados de campo do objeto recordset.Se os registros foram selecionados, tanto o IsBOF e IsEOF funções de membro retornam 0.

No seu Abrir chamada, você pode:

  • Especifique se o conjunto de registros é um dynaset ou snapshot.Conjuntos de registros aberto como instantâneos por padrão.Ou você pode especificar um recordset somente de encaminhamento, que permite apenas encaminhar rolagem, um registro por vez.

    Por padrão, um conjunto de registros usa o tipo padrão armazenado na CRecordset membro de dados m_nDefaultType.Assistentes gravar código para inicializar m_nDefaultType o tipo de conjunto de registros escolhido no assistente.Em vez de aceitar esse padrão, você pode substituir outro tipo de conjunto de registros.

  • Especifique uma seqüência de caracteres para substituir o padrão SQL Selecionar instrução constrói o conjunto de registros.

  • Especifique se o conjunto de registros é somente leitura ou somente de acréscimo.Conjuntos de registros permitem completos de atualização por padrão, mas pode limitar que para adicionar novos registros apenas ou proibir todas as atualizações.

O exemplo a seguir mostra como abrir um objeto de instantâneo somente leitura da classe CStudentSet, uma classe específica do aplicativo:

// Construct the snapshot object
CStudentSet rsStudent( NULL );
// Set options if desired, then open the recordset
if(!rsStudent.Open(CRecordset::snapshot, NULL, CRecordset::readOnly))
    return FALSE;
// Use the snapshot to operate on its records...

Depois de chamar Abrir, use os membros de dados e funções de membro do objeto para trabalhar com registros.Em alguns casos, convém RepetirConsulta ou atualizar o conjunto de registros para incluir as alterações que ocorreram na fonte de dados.Para obter mais informações, consulte Recordset: repetir consulta um conjunto de registros (ODBC).

DicaDica

A seqüência de conexão que você usa durante o desenvolvimento pode não ser a mesma seqüência de conexão que os usuários eventual precisam.Para obter idéias sobre generalizar seu aplicativo em relação a isso, consulte fonte de dados: Gerenciando conexões (ODBC).

Configurando opções de conjunto de registros

Após você construir o objeto recordset, mas antes de chamar Abrir para selecionar registros, convém definir algumas opções para controlar o comportamento do conjunto de registros.Para todos os conjuntos de registros, você pode:

  • Especifique um filtro para restringir a seleção de registro.

  • Especifique um classificação para que os registros.

  • Especificar parâmetros de para que você possa selecionar registros usando informações obtidas ou calculado em tempo de execução.

Você também pode definir a opção a seguir se condições forem atendidas:

  • Se o conjunto de registros é atualizável e oferece suporte a opções de bloqueio, especifique o bloqueio método usado para atualizações.
ObservaçãoObservação

Para afetar a seleção de registro, você deve definir essas opções antes de chamar o Abrir função de membro.

Fechar um conjunto de registros

Quando você terminar com seu conjunto de registros, deve dispose dele e desalocar a memória.

Para fechar um conjunto de registros

  1. Chamar o Fechar função de membro.

  2. Destrua o objeto recordset.

    Se você o declarado no quadro de pilha de uma função, o objeto é destruído automaticamente quando o objeto sai do escopo.Caso contrário, use o Excluir operador.

Fechar libera o conjunto de registros HSTMT identificador.Ele não destrói o objeto C++.

Consulte também

Conceitos

Conjunto de registros (ODBC)

Recordset: Rolagem (ODBC)

Recordset: Adicionando, atualizando e excluindo registros (ODBC)