O conjunto de registros: Repetindo a consulta de um conjunto de registros (ODBC)

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

Este tópico explica como você pode usar um objeto recordset para repetir a consulta (ou seja, renovar) próprio do banco de dados e talvez você queira fazer isso com o Requery a função de membro.

Os motivos principais para repetir a consulta de um conjunto de registros são:

  • Trazer o conjunto de registros atualizado em relação ao registros adicionados por você ou por outros usuários e os registros excluídos por outros usuários (aqueles que excluir já são refletidas no conjunto de registros).

  • Atualize o conjunto de registros com base na alteração de valores de parâmetro.

Trazendo o Up Recordset data

Freqüentemente, você desejará repetir a consulta de seu objeto recordset para colocá-lo atualizado. Em um ambiente de banco de dados multiusuário, outros usuários podem fazer alterações aos dados durante a vida do seu conjunto de registros. Para obter mais informações sobre quando seu conjunto de registros reflete as alterações feitas por outros usuários e quando outros usuários conjuntos de registros refletir suas alterações, consulte Recordset: Como os conjuntos de registros atualizam registros (ODBC) e Dynaset.

Repetir consulta com base nos parâmetros de novos

Outro freqüentes — e igualmente importante — uso de Requery é selecionar um novo conjunto de registros com base na alteração de valores de parâmetro.

Dica

A velocidade de consulta é provavelmente significativamente mais rápida se você chamar Requery com a alteração de valores de parâmetro que se você chamar Abrir novamente.

Repetir consulta Dynasets vs.Instantâneos

Porque dynasets destinam-se para apresentar um conjunto de registros com os dados atualizados dinâmicos, você deseja repetir consulta dynasets com freqüência, se você desejar refletir a outros usuários adições. Instantâneos, por outro lado, são úteis porque você pode contar com segurança com seu conteúdo estático enquanto você preparar relatórios, calcular totais e assim por diante. Ainda assim, você pode querer repetir a consulta de um snapshot também. Em um ambiente multiusuário, os dados do instantâneo podem perder a sincronização com a fonte de dados como outros usuários alterar o banco de dados.

Para repetir a consulta de um objeto recordset

  • Chamar o Requery a função de membro do objeto.

Como alternativa, você pode fechar e reabrir o conjunto de registros original. In either case, the new recordset represents the current state of the data source.

Por exemplo, consulte modos de exibição do registro: Preencher uma caixa de listagem de um segundo conjunto de registros.

Dica

Para otimizar a Requery o desempenho, evite alterar o conjunto de registros filtro ou classificação. Alterar apenas o valor do parâmetro antes de chamar Requery.

Se a Requery chamada falhar, você pode repetir a chamada; Caso contrário, seu aplicativo deve ser encerrado normalmente. Uma chamada para Requery ou Abrir pode falhar por qualquer dos vários motivos. Talvez ocorra um erro de rede; ou, durante a chamada, após o lançamento dos dados existentes, mas antes que os novos dados são obtidos, outro usuário pode obter acesso exclusivo. ou a tabela da qual depende o seu recordset foi excluída.

Consulte também

Conceitos

O conjunto de registros (ODBC)

O conjunto de registros: Vinculando dinamicamente a colunas de dados (ODBC)

O conjunto de registros: Criando e fechamento de conjuntos de registros (ODBC)