共用方式為


資料錄集:重新查詢資料錄集 (ODBC)

本主題適用於 MFC ODBC 類別。

本主題說明如何使用 recordset 物件從資料庫重新查詢(也就是重新整理),以及當您想要使用 Requery 成員函式執行此動作 時。

重新查詢記錄集的主要原因是:

  • 將記錄設定為最新狀態,包括您或其他使用者新增的記錄,以及其他使用者刪除的記錄(您刪除的記錄集已反映在記錄集中)。

  • 根據變更參數值重新整理記錄集。

讓記錄集保持最新狀態

您經常會想要重新查詢記錄集物件,使其更新為最新狀態。 在多使用者資料庫環境中,其他使用者可以在記錄集的存回期間對資料進行變更。 如需記錄集何時反映其他使用者所做的變更,以及其他使用者記錄集反映變更的詳細資訊,請參閱 Recordset:Recordset 如何更新記錄 (ODBC) Dynaset

根據新參數重新查詢

Requery 的另一個頻繁且同樣重要, 就是根據變更參數值來選取一組新的記錄。

提示

如果您使用變更參數值來呼叫 Requery ,查詢速度可能會明顯快于再次呼叫 Open

重新查詢動態集與快照集

因為動態資料集的目的是要呈現一組具有動態最新資料的記錄,因此如果您想要反映其他使用者的新增專案,您通常會重新查詢動態集。 另一方面,快照集很有用,因為您可以在準備報表、計算總計等等時安全地依賴其靜態內容。 不過,您有時也可能想要重新查詢快照集。 在多使用者環境中,當其他使用者變更資料庫時,快照集資料可能會失去與資料來源的同步處理。

若要重新查詢記錄集物件

  1. 呼叫 物件的 Requery 成員函式。

或者,您可以關閉並重新開啟原始記錄集。 不論是哪一種情況,新的記錄集都代表資料來源的目前狀態。

如需範例,請參閱 記錄檢視:從第二個記錄集 填滿清單方塊。

提示

若要將效能優化 Requery ,請避免變更記錄集的 篩選 排序 。 只在呼叫 Requery 之前變更參數值。

Requery如果呼叫失敗,您可以重試呼叫;否則,您的應用程式應該正常終止。 呼叫 RequeryOpen 可能會因為任何原因而失敗。 可能是發生網路錯誤;或者,在呼叫期間,在現有資料釋出之後,但在取得新資料之前,其他使用者可能會取得獨佔存取權;或記錄集相依的資料表可以刪除。

另請參閱

資料錄集 (ODBC)
資料錄集:動態地繫結資料行 (ODBC)
資料錄集:建立和關閉資料錄集 (ODBC)