Share via


CRecordset::Requery

Erstellt (Aktualisierungen) ein Recordset neu.

virtual BOOL Requery( );

Rückgabewert

Ungleich 0 (null), wenn das Recordset erfolgreich neu erstellt wurde; andernfalls 0.

Hinweise

Wenn eine werden Datensätze, der erste Datensatz wird der aktuelle Datensatz zurückgegeben.

Damit das Recordset spiegelt die Hinzufügungen und Löschen, die Sie oder andere Benutzer zur Datenquelle ausführen, müssen Sie das Recordset neu erstellen, indem Sie Requery aufrufen.Wenn das Recordset ein Dynaset ist, gibt es automatisch Aktualisierungen, die Sie oder andere Benutzer zu den vorhandenen Datensätzen ausführen (jedoch nicht zu den Hinzufügungen).Wenn das Recordset eine Momentaufnahme ist, müssen Sie Requery aufrufen, um Bearbeitungen durch andere Benutzer sowie Hinzufügungen und Löschen wiederzugeben.

Entweder für ein Dynaset oder eine Momentaufnahme, ein Aufruf Requery, wenn Sie das Recordset mithilfe eines neuen Filters neu erstellen möchten oder Sortierung oder neuen Parameterwerte.Legen Sie die neue Filter- oder Sortierungseigenschaft fest, indem Sie m_strFilter und m_strSort neue Werte zugewiesen haben, bevor Sie Requery aufriefen.Legen Sie neue Parameter fest, indem Sie den Parameterdatenmember neue Werte zugewiesen haben, bevor Sie Requery aufriefen.Wenn die Filter- und Sortierungszeichenfolgen unverändert sind, können Sie die Abfrage wiederverwenden, die Leistung verbessert.

Wenn der Versuch, das Recordset neu erstellen fehlschlägt, wird das Recordset geschlossen.Bevor Sie Requery aufrufen, können Sie bestimmen, ob das Recordset neu abgefragt werden kann, indem die CanRestart-Memberfunktion aufruft.CanRestart garantiert nicht, dass Requery folgt.

WarnhinweisVorsicht

Aufruf Requery, nachdem Sie Öffnen Sie aufgerufen haben.

Ausnahmen

Diese Methode kann Ausnahmen des Typs CDBException* und CMemoryException* auslösen.

Beispiel

In diesem Beispiel wird ein Recordset neu, um eine andere Sortierreihenfolge anzuwenden.

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!"));

Anforderungen

Header: afxdb.h

Siehe auch

Referenz

CRecordset-Klasse

Hierarchien-Diagramm

CRecordset::CanRestart

CRecordset::m_strFilter

CRecordset::m_strSort