資料錄集:鎖定資料錄 (ODBC)
本文件適用於 MFC ODBC 類別。
這個主題說明:
可用的鎖定資料錄類型
如何在更新時鎖定資料錄集的資料錄
當您使用資料錄集來更新資料來源上的資料錄時,您的應用程式可鎖定資料錄,因此沒有其他使用者可以在同時間內更新該資料錄。 除非系統能保證兩個使用者不能同時更新一筆資料錄,否則並未定義兩個使用者同時更新的資料錄狀態。
注意事項 |
---|
本文件適用於未實作大量資料列擷取的 CRecordset 衍生物件。 若您已經實作大量資料列擷取,某些資訊便不適用。 例如,您不能呼叫 Edit 和 Update 成員函式。 如需關於大量資料列擷取的詳細資訊,請參閱資料錄集:擷取大量資料錄 (ODBC)。 |
資料錄鎖定模式
資料庫類別提供兩種資料錄鎖定模式:
開放式鎖定 (預設)
封閉式鎖定
更新資料錄的三個步驟:
開放式鎖定只會在呼叫 Update 時才鎖定資料來源上的資料錄。 若您在一個多使用者環境中使用開放式鎖定,應用程式應該可以處理 Update 的失敗狀況。 封閉式鎖定 (Pessimistic Locking) 會在呼叫 Edit 時立即鎖定資料錄,要等到呼叫 Update (失敗是透過 CDBException 機制指定,而不是透過 Update 傳回的 FALSE 值) 後才釋放資料錄。 封閉式鎖定對於其他使用者具有潛在性的效能負面影響,因為相同資料錄的同步存取可能須等到您的應用程式 Update 處理程序完成後才能進行。
鎖定您的資料錄集中的資料錄
如果想要變更資料錄集物件預設的鎖定模式,就必須在呼叫 Edit 之前先變更模式。
若要變更您的資料錄集目前的鎖定模式
- 呼叫 SetLockingMode 成員函式,指定 CRecordset::pessimistic 或 CRecordset::optimistic。
新的鎖定模式會持續生效,直到您再次為其變更或是關閉資料錄集。
注意事項 |
---|
目前只有少數 ODBC 驅動程式支援封閉式鎖定。 |