分享方式:


資料錄集:資料錄集更新資料錄的方式 (ODBC)

本主題適用於 MFC ODBC 類別。

除了能夠從資料來源選取記錄之外,記錄集還可以更新或刪除選取的記錄,或新增記錄。 三個因素決定記錄集的可更新性:連接資料來源是否可更新、建立記錄集物件時所指定的選項,以及所建立的 SQL。

注意

物件 CRecordset 所依據的 SQL 可能會影響記錄集的可更新性。 例如,如果您的 SQL 包含聯結或 GROUP BY 子句,MFC 會將可更新性設定為 FALSE。

注意

本主題適用於衍生自 CRecordset 的物件,其中尚未實作大量資料列擷取。 如果您使用大量資料列擷取,請參閱 記錄集:大量擷取記錄 (ODBC)

本主題將說明:

記錄集:AddNew、Edit 和 Delete Work (ODBC) 如何從記錄集的觀點描述這些函式的動作。

記錄集:深入瞭解更新 (ODBC) 會說明交易如何影響更新、關閉記錄集或捲動如何影響進行中的更新,以及更新如何與其他使用者的更新互動,以完成記錄集更新案例。

您在 Recordset 更新中的角色

下表顯示您在使用記錄集新增、編輯或刪除記錄的角色,以及架構為您所做的工作。

記錄集更新:您和架構

架構
判斷資料來源是否可更新(或可附加)。 提供 CDatabase 成員函式,以測試資料來源的可更新性或附加性。
開啟可更新的記錄集(任何類型)。
呼叫 CRecordsetCanAppendCanUpdate 更新函式,判斷記錄集是否可更新。
通話記錄集成員函式以新增、編輯和刪除記錄。 記錄管理集物件與資料來源之間交換資料的機制。
或者,使用交易來控制更新程式。 CDatabase提供成員函式以支援交易。

如需交易的詳細資訊,請參閱 交易 (ODBC)

編輯緩衝區

以集體方式取得,記錄集的欄位資料成員會做為包含一筆記錄的編輯緩衝區,也就是目前記錄。 更新作業會使用此緩衝區在目前記錄上運作。

  • 當您新增記錄時,會使用編輯緩衝區來建置新的記錄。 當您完成新增記錄時,先前目前的記錄會再次變成目前的記錄。

  • 當您更新 (edit) 記錄時,會使用編輯緩衝區,將記錄集的欄位資料成員設定為新的值。 當您完成更新時,更新的記錄仍然是最新的。

當您呼叫 AddNew Edit 時,會儲存目前的記錄,以便稍後視需要還原。 當您呼叫 Delete 時,目前的記錄不會儲存,但標示為已刪除,而且您必須捲動至另一筆記錄。

注意

編輯緩衝區不會在記錄刪除中扮演任何角色。 當您刪除目前記錄時,記錄會標示為已刪除,而且記錄集在您捲動至不同的記錄之前「不在記錄上」。

動態集和快照集

動態集會 在您捲動至記錄時重新整理記錄的內容。 快照集是記錄的靜態標記法,因此除非您呼叫 Requery ,否則不會重新整理記錄的內容。 若要使用動態集的所有功能,您必須使用符合正確 ODBC API 支援的 ODBC 驅動程式。 如需詳細資訊,請參閱 ODBC Dynaset

另請參閱

資料錄集 (ODBC)
資料錄集:AddNew、Edit 和 Delete 的運作方式 (ODBC)