Recordset: Repetir consulta um conjunto de registros (ODBC)
Este tópico se aplica a classes MFC ODBC.
Este tópico explica como você pode usar um objeto recordset para RepetirConsulta (ou seja, atualizar) próprio do banco de dados e talvez você queira fazer isso com o Requery função de membro.
Os motivos principais para repetir a consulta de um conjunto de registros são:
Trazer o conjunto de registros atualizado com relação a registros adicionados por você ou por outros usuários e 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 em alterar valores de parâmetro.
Trazendo Up Recordset para data
Com freqüência, convém RepetirConsulta 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 o 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: como conjuntos de registros atualizar registros (ODBC) e Dynaset.
Repetir consulta com base em novos parâmetros
Outro freqüentes — e igualmente importante — use de Requery é selecionar um novo conjunto de registros com base em alterar valores de parâmetro.
Dica |
---|
Velocidade de consulta é provavelmente consideravelmente mais rápida se você chamar Requery com alteração de valores de parâmetro que se você chamar Abrir novamente. |
Repetir consulta Dynasets vs.Instantâneos
Porque dynasets devem apresentar um conjunto de registros com dados atualizados dinâmicos, você deseja repetir a consulta dynasets geralmente se desejar refletir adições de outros usuários.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, às vezes, convém RepetirConsulta um instantâneo bem.Em um ambiente multiusuário, dados de 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 função de membro do objeto.
Como alternativa, você pode fechar e reabrir o recordset original.Em qualquer caso, o novo conjunto de registros representa o estado atual da fonte de dados.
Por exemplo, consulte modos de exibição do registro: preencher uma caixa de listagem de um segundo conjunto de registros.
Dica |
---|
Para otimizar Requery desempenho, evite alterar o conjunto de registros filtro ou classificação.Alterar somente o valor do parâmetro antes de chamar Requery. |
Se o Requery chamada falhar, você pode repetir a chamada; Caso contrário, seu aplicativo deve encerrado normalmente.Uma chamada para Requery ou Abrir pode falhar por vários motivos.Talvez ocorra um erro de rede; ou, durante a chamada, após o lançamento dos dados existentes, mas antes de obter novos dados, outro usuário pode obter acesso exclusivo. ou a tabela depende do seu recordset foi excluída.