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.
Vorsicht |
---|
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