Compartilhar via


Conjunto de registros: criando e fechando conjuntos de registros (ODBC)

Este tópico se aplica às classes ODBC do MFC.

Para usar um conjunto de registros, construir um objeto do conjunto de registros e chame a função de membro de Abrir para executar a consulta do conjunto de registros e para selecionar registros. Quando você terminar com o conjunto de registros, feche e destruir o objeto.

Este tópico explica:

  • Quando e como criar um objeto do conjunto de registros.

  • Quando e como você pode qualificar o comportamento do conjunto de registros parametrizando, filtrando, para classificar, ou bloqueando o.

  • Quando e como fechar um objeto do conjunto de registros.

Criando conjuntos de registros em tempo de execução

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

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

Para abrir um conjunto de registros

  1. Construir um objeto do CRecordset- classe derivada.

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

  2. Também é possível modificar o comportamento padrão do conjunto de registros. Para as opções disponíveis, consulte Opções do conjunto de registros de configuração.

  3. Chame a função de membro de Abrir do objeto.

No construtor, transmitir um ponteiro para um objeto de CDatabase ou passe nulo para usar um objeto de base de dados temporário que a estrutura cria e abre com base na cadeia de conexão retornada pela função de membro de GetDefaultConnect . O objeto de CDatabase já poderá ser conectado a uma fonte de dados.

A chamada para Abrir usa SQL para selecionar registros na fonte de dados. O primeiro registro selecionado (se houver) é o registro atual. Os valores de campos do registro são armazenados nos membros de dados do campo do objeto do conjunto de registros. Se qualquer registro foi selecionado, IsBOF e o retorno 0 das funções de membro de IsEOF .

Em sua chamada de Abrir , você pode:

  • Especifique se o conjunto de registros é um dynaset ou um instantâneo. Os conjuntos de registros são abertos como instantâneos por padrão. Ou, você pode especificar um conjunto de registros somente avanço, que permite apenas a rolagem para frente, um registro de cada vez.

    Por padrão, um conjunto de registros usa o tipo padrão armazenado no membro de dados m_nDefaultTypede CRecordset . Os assistentes escrevem o código para inicializar m_nDefaultType ao tipo de conjunto de registros você escolhe no assistente. Em vez de aceitando essa opção, você pode substituir outro tipo de conjunto de registros.

  • Especificar uma cadeia de caracteres para substituir a instrução padrão do SQL SELECIONAR que o conjunto de registros constrói.

  • Especifique se o conjunto de registros é somente leitura ou somente de acréscimo. Os conjuntos de registros permitem a atualização por padrão, mas você pode limitar ao adicionar novos registros apenas ou você pode desabilitar todas as atualizações.

O exemplo a seguir mostra como abrir um objeto somente leitura do instantâneo 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 as funções de membro e os membros de dados do objeto para trabalhar com os registros. Em alguns casos, talvez você deseje que você consulte novamente ou atualizar o conjunto de registros para incluir as alterações que ocorreram na fonte de dados. Para obter mais informações, consulte Conjunto de registros: Consultar um conjunto de registros (ODBC).

Dica

A cadeia de caracteres que se conectam você usa durante o desenvolvimento pode não ser a mesma se conecta a cadeia de caracteres que sua necessidade de usuários eventual.Para ideias sobre a generalização do aplicativo neste aspecto, consulte Fonte de dados: Gerenciando conexões (ODBC).

Opções do conjunto de registros de configuração

Depois que você constrói o objeto do conjunto de registros mas antes de chamar Abrir para selecionar registros, você pode querer definir algumas opções para controlar o comportamento do conjunto de registros. Para todos os conjuntos de registros, você pode:

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

  • Especificar uma ordem de tipo para os registros.

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

Você também pode definir a seguinte opção se as condições forem direita:

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

Dica

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

Fechando um conjunto de registros

Quando você terminar com seu conjunto de registros, você deve descartar d e desalocar sua memória.

Para fechar um conjunto de registros

  1. Chame a função de membro de Término .

  2. Destruir o objeto do conjunto de registros.

    Se você o declarados no quadro de pilhas de uma função, o objeto será destruído automaticamente quando o objeto sai do escopo. Se não, use o operador de delete .

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

Consulte também

Conceitos

Conjunto de registros (ODBC)

Conjunto de registros: rolando (ODBC)

Conjunto de registros: adicionando, atualizando e excluindo registros (ODBC)