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.
Precaució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