CRecordset::Requery
(重新整理) 資料錄集。
virtual BOOL Requery( );
傳回值
不是零,如果資料錄集成功重建;則為 0。
備註
如果有任何傳回的資料錄,第一筆資料錄會變成目前的資料錄。
為了使資料錄集可以反映您或其他使用者對資料來源的加入和刪除,您必須呼叫 Requery重建資料錄集。 如果資料錄集是動態集,它會自動反映您或其他使用者對其不是現有資料錄的更新,但加法 ()。 如果資料錄集是快照,您必須呼叫 Requery 由其他使用者會版本以及加入和刪除項目。
對於動態集 (Dynaset) 或快照集 (Snapshot),呼叫 Requery ,在您要重建資料錄集使用新的篩選條件或排序時或是新的參數值。 透過指派新的值會設定為新的篩選條件或排序屬性設定為 m_strFilter 和 m_strSort 在呼叫 Requery之前。 設定新參數透過指派新值給參數在呼叫 Requery之前的資料成員。 如果篩選條件和排序字串未變更,您可以重複使用查詢,以提高效能。
如果嘗試重建資料錄集失敗,關閉資料錄集。 在呼叫 Requery之前,您可以判斷資料錄集是否可藉由呼叫成員函式 CanRestart 必須查詢。 CanRestart 不保證 Requery 會成功。
警告
呼叫 Requery ,才能呼叫 開啟之後。
例外狀況
這個方法會擲回型別 CDBException* 和 **CMemoryException***的例外狀況。
範例
這個範例會重建資料錄集套用不同的排序次序。
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!"));
需求
Header: afxdb.h