共用方式為


CRecordset::Requery

(重新整理) 資料錄集。

virtual BOOL Requery( );

傳回值

不是零,如果資料錄集成功重建;則為 0。

備註

如果有任何傳回的資料錄,第一筆資料錄會變成目前的資料錄。

為了使資料錄集可以反映您或其他使用者對資料來源的加入和刪除,您必須呼叫 Requery重建資料錄集。 如果資料錄集是動態集,它會自動反映您或其他使用者對其不是現有資料錄的更新,但加法 ()。 如果資料錄集是快照,您必須呼叫 Requery 由其他使用者會版本以及加入和刪除項目。

對於動態集 (Dynaset) 或快照集 (Snapshot),呼叫 Requery ,在您要重建資料錄集使用新的篩選條件或排序時或是新的參數值。 透過指派新的值會設定為新的篩選條件或排序屬性設定為 m_strFilterm_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

請參閱

參考

CRecordset 類別

階層架構圖

CRecordset::CanRestart

CRecordset::m_strFilter

CRecordset::m_strSort