資料錄集:重新查詢資料錄集 (ODBC)
本主題適用於 MFC ODBC 類別。
本主題說明如何使用 recordset 物件從資料庫重新查詢(也就是重新整理),以及當您想要使用 Requery 成員函式執行此動作 時。
重新查詢記錄集的主要原因是:
將記錄設定為最新狀態,包括您或其他使用者新增的記錄,以及其他使用者刪除的記錄(您刪除的記錄集已反映在記錄集中)。
根據變更參數值重新整理記錄集。
讓記錄集保持最新狀態
您經常會想要重新查詢記錄集物件,使其更新為最新狀態。 在多使用者資料庫環境中,其他用戶可以在記錄集的存回期間對數據進行變更。 如需記錄集何時反映其他使用者所做的變更,以及其他用戶記錄集反映變更的詳細資訊,請參閱 Recordset:Recordset 如何更新記錄 (ODBC) 和 Dynaset。
根據新參數重新查詢
Requery 的另一個頻繁且同樣重要,就是根據變更參數值來選取一組新的記錄。
提示
如果您使用變更參數值來呼叫 Requery
,查詢速度可能會明顯快於再次呼叫 Open
。
重新查詢動態集與快照集
因為動態數據集的目的是要呈現一組具有動態最新數據的記錄,因此如果您想要反映其他使用者的新增專案,您通常會重新查詢動態集。 另一方面,快照集很有用,因為您可以在準備報表、計算總計等等時安全地依賴其靜態內容。 不過,您有時也可能想要重新查詢快照集。 在多用戶環境中,當其他使用者變更資料庫時,快照集數據可能會失去與數據源的同步處理。
若要重新查詢記錄集物件
- 呼叫 物件的 Requery 成員函式。
或者,您可以關閉並重新開啟原始記錄集。 不論是哪一種情況,新的記錄集都代表數據源的目前狀態。
如需範例,請參閱 記錄檢視:從第二個記錄集填滿清單框。
Requery
如果呼叫失敗,您可以重試呼叫;否則,您的應用程式應該正常終止。 呼叫 Requery
或 Open
可能會因為任何原因而失敗。 可能是發生網路錯誤;或者,在呼叫期間,在現有數據釋出之後,但在取得新數據之前,其他使用者可能會取得獨佔存取權;或記錄集相依的數據表可以刪除。