共用方式為


更新和持久化資料

上述章節已討論如何使用 ADO 來取得數據源中的數據、如何在數據中四處移動,甚至是如何編輯數據。 當然,如果應用程式的目標是允許使用者對數據進行變更,您必須瞭解如何儲存這些變更。 您可以使用 Save 方法,將 Recordset 變更保存至檔案,也可以使用 UpdateUpdateBatch 方法,將變更傳回記憶體的數據源。

在上述章節中,您已在 Recordset的數個數據列中變更數據。 ADO 支援兩個與新增、刪除和修改數據列相關的基本概念。

第一個概念是,變更不會立即作用在 Recordset上,而是先作用在內部的 複製緩衝區。 如果您決定不想要變更,則會捨棄複製緩衝區中的修改。 如果您決定保留變更,複製緩衝區中的變更會套用至 Recordset

第二個概念是,當您宣告某一資料列的工作完成時,變更會立即傳播至資料來源(也就是,立即 模式),或者將一組資料列的所有變更收集起來,直到您宣告該集合的工作完成(也就是 批次 模式)。 LockType 屬性會決定對基礎數據源進行變更的時機。 adLockOptimisticadLockPessimistic 指定即時模式,adLockBatchOptimistic 則指定批次模式。 CursorLocation 屬性可能會影響哪些 LockType 設定可供使用。 例如,如果 CursorLocation 屬性設定為 adUseClient,則不支援 adLockPessimistic 設定。

在立即模式中,Update 方法的每個調用都會將變更傳播至數據源。 在批次模式中,Update 或目前數據列位置移動的每個調用都會將變更儲存至複製緩衝區,但只有 UpdateBatch 方法會將變更傳播至數據源。

本節包含下列主題。