CRecordset::Requery
Reconstrói (atualiza) um conjunto de registros.
virtual BOOL Requery( );
Valor de retorno
Diferente de zero se o recordset foi reconstruído com êxito; se não 0.
Comentários
Se qualquer registro é retornado, o primeiro registro torna-se o registro atual.
Para que o recordset reflete as adições e exclusões que você ou outros usuários estão fazendo a fonte de dados, você deve recriar o conjunto de registros chamando Requery.Se o conjunto de registros é um dynaset, reflete automaticamente atualizações que você ou outros usuários fazer seus registros existentes (mas não a adições).Se o conjunto de registros é um instantâneo, você deve chamar Requery para refletir edições por outros usuários bem como. adições e exclusões
Para um dynaset ou um instantâneo, uma chamada Requery quando você deseja recrie o conjunto de registros usando um filtro novo tipo ou, ou um novos valores de parâmetro.Definir a nova propriedade de filtro de tipo ou atribuir novos valores a m_strFilter e a m_strSort antes de chamar Requery.Novos parâmetros definidos atribuir novos valores para os membros de dados do parâmetro antes de chamar Requery.Se o filtro e as cadeias de caracteres de tipo são inalterada, você pode reutilizar a consulta, o que melhora o desempenho.
Se a tentativa de recriar o conjunto de registros falhar, o conjunto de registros é fechado.Antes de você chamar Requery, você pode determinar se o recordset pode ser requeried chamar a função de membro de CanRestart .CanRestart não garante que Requery funcionará com.
Cuidado |
---|
Chamada Requery somente após você chamou Abrir. |
Exceções
Esse método pode lançar exceções do tipo CDBException* e CMemoryException*.
Exemplo
Este exemplo reconstrói um conjunto de registros para aplicar uma ordem de classificação diferente.
CCustomer rsCustSet(&m_dbCust);
// Open the recordset
rsCustSet.Open();
// Use the recordset ...
// Set the sort order and Requery the recordset
rsCustSet.m_strSort = _T("L_Name, ContactFirstName");
if(!rsCustSet.CanRestart())
return; // Unable to requery
if(!rsCustSet.Requery())
// Requery failed, so take action
AfxMessageBox(_T("Requery failed!"));
Requisitos
Cabeçalho: afxdb.h