資料錄集:鎖定資料錄 (ODBC)

本文件適用於 MFC ODBC 類別。

這個主題說明:

  • 可用的鎖定資料錄類型

  • 如何在更新時鎖定資料錄集的資料錄

當您使用資料錄集來更新資料來源上的資料錄時,您的應用程式可鎖定資料錄,因此沒有其他使用者可以在同時間內更新該資料錄。除非系統能保證兩個使用者不能同時更新一筆資料錄,否則並未定義兩個使用者同時更新的資料錄狀態。

注意事項注意事項

本文件適用於未實作大量資料列擷取的 CRecordset 衍生物件。若您已經實作大量資料列擷取,某些資訊便不適用。例如,您不能呼叫 EditUpdate 成員函式。如需關於大量資料列擷取的詳細資訊,請參閱資料錄集:擷取大量資料錄 (ODBC)

資料錄鎖定模式

資料庫類別提供兩種資料錄鎖定模式

  • 開放式鎖定 (預設)

  • 封閉式鎖定

更新資料錄的三個步驟:

  1. 呼叫 Edit 成員函式,開始進行作業。

  2. 變更目前資料錄的適當欄位。

  3. 結束作業,並正常地認可此更新 (藉由呼叫 Update 成員函式)。

開放式鎖定只會在呼叫 Update 時才鎖定資料來源上的資料錄。若您在一個多使用者環境中使用開放式鎖定,應用程式應該可以處理 Update 的失敗狀況。封閉式鎖定 (Pessimistic Locking) 會在呼叫 Edit 時立即鎖定資料錄,要等到呼叫 Update (失敗是透過 CDBException 機制指定,而不是透過 Update 傳回的 FALSE 值) 後才釋放資料錄。封閉式鎖定對於其他使用者具有潛在性的效能負面影響,因為相同資料錄的同步存取可能須等到您的應用程式 Update 處理程序完成後才能進行。

鎖定您的資料錄集中的資料錄

如果想要變更資料錄集物件預設的鎖定模式,就必須在呼叫 Edit 之前先變更模式。

若要變更您的資料錄集目前的鎖定模式

  • 呼叫 SetLockingMode 成員函式,指定 CRecordset::pessimisticCRecordset::optimistic

新的鎖定模式會持續生效,直到您再次為其變更或是關閉資料錄集。

注意事項注意事項

目前只有少數 ODBC 驅動程式支援封閉式鎖定。

請參閱

概念

資料錄集 (ODBC)

資料錄集:執行聯結 (ODBC)

資料錄集:加入、更新和刪除資料錄 (ODBC)