CRecordset::Requery
Znovu sestaví (aktualizuje) sadu záznamů.
virtual BOOL Requery( );
Vrácená hodnota
Nenulová hodnota, pokud sada záznamů byl úspěšně znovu sestavena; jinak 0.
Poznámky
Pokud jsou vráceny žádné záznamy, první záznam stane aktuálním záznamem.
V pořadí záznamů tak, aby odrážely přidání a odstranění, které vy nebo jiní uživatelé využívají zdroje dat, je nutné znovu vytvořit sadu záznamů voláním Requery.Pokud je dynamická sada záznamů, automaticky odráží aktualizace, které uživatelům provádět existujících záznamů (ale nikoli dodatky).Pokud sada záznamů je snímek, musíte zavolat Requery tak, aby odrážela úpravy podle jiných uživatelů a také přidání a odstranění.
Volání je dynamická sada nebo snímek Requery kdykoli chcete znovu vytvořit sady záznamů pomocí nového filtru nebo řazení nebo nové hodnoty parametrů.Nové vlastnosti filtru nebo řazení nastavit přiřazením nové hodnoty a m_strFilter a m_strSort před voláním Requery.Nové parametry nastavit přiřazením nové hodnoty parametru datové členy před voláním Requery.Pokud jsou řetězce filtru a řazení beze změny, můžete znovu použít dotaz, který zvyšuje výkon.
Pokud se nezdaří pokus o opětovné vytvoření sady záznamů, záznamů je uzavřen.Než budete volat Requery, můžete určit, zda může být sada záznamů fokusu voláním CanRestart členské funkce.CanRestartnení zaručeno, že Requery budou úspěšné.
Upozornění |
---|
Volání Requery pouze po volání otevřených. |
Výjimky
Tuto metodu lze vyvolávají výjimky typu CDBException * a CMemoryException* .
Příklad
Tento příklad znovu vytvoří sadu záznamů použít jiné pořadí řazení.
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!"));
Požadavky
Záhlaví: afxdb.h