Partilhar via


Conjunto de registros: Reconsultando um conjunto de registros (ODBC)

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

Este tópico explica como você pode usar um objeto Recordset para reconsultar (ou seja, atualizar) a partir do banco de dados e quando pode querer fazer isso com a função membro Requery.

Os principais motivos para consultar novamente um conjunto de registros são:

  • Atualize o conjunto de registros em relação aos registros adicionados por você ou por outros usuários e aos registros excluídos por outros usuários (aqueles que você excluir já estão refletidos no conjunto de registros).

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

Atualizando o conjunto de registros

Freqüentemente, você desejará consultar novamente seu objeto de conjunto de registros para atualizá-lo. Em um ambiente de banco de dados multiusuário, outros usuários podem fazer alterações nos dados durante a vida útil 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 os conjuntos de registros de outros usuários refletem suas alterações, consulte Recordset: How Recordsets Update Records (ODBC) e Dynaset.

Consultando novamente com base em novos parâmetros

Outro uso frequente — e igualmente importante — do Requery é selecionar um novo conjunto de registros com base na alteração dos valores dos parâmetros.

Sugestão

A velocidade da consulta é provavelmente significativamente mais rápida se você ligar Requery com valores de parâmetro variáveis do que se ligar Open novamente.

Reconsultando Dynasets vs. Snapshots

Como os dynasets se destinam a apresentar um conjunto de registos com dados dinâmicos de up-to-date, deve consultar novamente os dynasets com frequência para refletir as adições de outros utilizadores. As capturas, por outro lado, são úteis porque se pode confiar com segurança no seu conteúdo estático enquanto prepara relatórios, efetua cálculos e assim por diante. Ainda assim, às vezes podes também querer consultar novamente um instantâneo. Em um ambiente multiusuário, os dados de instantâneo podem perder a sincronização com a fonte de dados à medida que outros usuários alteram o banco de dados.

Para consultar novamente um objeto de conjunto de registros

  1. Chame a função de membro Requery do objeto.

Como alternativa, você pode fechar e reabrir o conjunto de registros original. Em ambos os casos, o novo conjunto de registros representa o estado atual da fonte de dados.

Para obter um exemplo, consulte Exibições de registro: preenchendo uma caixa de listagem a partir de um segundo conjunto de registros.

Sugestão

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

Se a Requery chamada falhar, você pode tentar novamente a chamada, caso contrário, seu aplicativo deve ser encerrado normalmente. Uma chamada para Requery ou Open pode falhar por qualquer um dos vários motivos. Talvez ocorra um erro de rede; ou, durante a chamada, após a divulgação dos dados existentes, mas antes da obtenção dos novos dados, outro utilizador poderá obter acesso exclusivo; ou a tabela da qual seu conjunto de registros depende pode ser excluída.

Ver também

Conjunto de registros (ODBC)
Conjunto de registros: ODBC (Dynamically Binding Data Columns)
Conjunto de registros: Criando e fechando conjuntos de registros (ODBC)