Compartir a través de


CRecordset::Requery

Recompila (actualizar) a un conjunto de registros.

virtual BOOL Requery( );

Valor devuelto

Distinto de cero si recompilaron el conjunto de registros correctamente; si no 0.

Comentarios

Si se devuelven algunos, el primer registro es el registro actual.

Para que el conjunto de registros refleje adiciones y eliminaciones que usted u otros usuarios está creando el origen de datos, debe recompilar el conjunto de registros llamando a Requery. Si el conjunto de registros sea dinámico, automáticamente reflejan las actualizaciones que usted u otros usuarios crea sus registros existentes (pero no las adiciones). Si el conjunto de registros es una instantánea, debe llamar a Requery para reflejar ediciones de otros usuarios así como adiciones y eliminaciones.

Para un dinámico o una instantánea, una llamada Requery cualquier momento desea recompilar el conjunto de registros mediante un nuevo filtro o la ordenación, nuevos valores de parámetro. Establezca la nueva propiedad de filtro u ordenación asignando valores nuevos m_strFilter y a m_strSort antes de llamar a Requery. Establezca los nuevos parámetros asignando nuevos valores a los miembros de datos de parámetro antes de llamar a Requery. Si el filtro y cadenas ordenadas son sin cambios, puede reutilizar la consulta, que mejora el rendimiento.

Si se produce un error en el intento de recompilar el conjunto de registros, el conjunto de registros se cierra. Antes de llamar a Requery, puede determinar si el conjunto de registros pueden consultar de nuevo llamando a la función miembro de CanRestart . CanRestart no garantiza que Requery tendrá éxito.

Nota de precauciónPrecaución

Llamada Requery sólo después de haber llamado Abrir.

Excepciones

Este método puede producir excepciones de CDBException* escrito y de CMemoryException*.

Ejemplo

Este ejemplo recompila un conjunto de registros para aplicar otro criterio de ordenación.

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

encabezado: afxdb.h

Vea también

Referencia

CRecordset Class

Gráfico de jerarquías

CRecordset::CanRestart

CRecordset::m_strFilter

CRecordset::m_strSort