共用方式為


CRecordset::SetFieldDirty

旗標資料錄集的欄位資料成員標記為已變更或標記成未變更。

void SetFieldDirty(
   void* pv,
   BOOL bDirty = TRUE 
);

參數

  • pv
    在資料錄集或 NULL包含欄位資料成員的位址。 如果 NULL,所有至資料錄集的欄位資料成員旗標。 (C++ NULL 與在資料庫詞彙中的 null,並不表示有「value ". ")。

  • bDirty
    ,如果欄位資料成員將標示為「變更 (Dirty)」(變更)。 否則,如果 欄位資料成員將旗標「清除」(未變更)。

備註

標記欄位,而不變更確保欄位不會更新並產生較少的 SQL 流量。

注意事項注意事項

這個成員函式不能套用於使用大量資料列擷取的資料錄集。如果您已實作大量資料列擷取,則 SetFieldDirty 造成失敗的判斷提示。如需大量資料列擷取的詳細資訊,請參閱本文 資料錄集:擷取大量資料錄 (ODBC)

確保他們的框架標記已變更的欄位資料成員至資料錄中寫入資料來源中的資料錄欄位交換 (Record Field Exchange,RFX) 機制。 變更值會自動] 欄位通常成員設定記錄變更的欄位,因此,您很少需要呼叫 SetFieldDirty ,不過,您可能會想要確保資料行會明確更新或插入的值為何在欄位資料成員。

警告

在呼叫 編輯AddNew後,請呼叫此成員函式。

使用函式的第一個引數的 NULL 只將函式套用至 outputColumn 欄位,而不是 param 欄位。 例如,呼叫。

SetFieldNull(NULL);

要設定為只 outputColumn 欄位對應至 NULL; param 欄位並不會受到影響。

param 欄位進行工作,您必須提供個別您要使用的 param 實際位址,例如:

SetFieldNull(&m_strParam);

這表示您不能將所有 param 欄位加入至 NULL,在中,您可以使用 outputColumn 欄位。

需求

Header: afxdb.h

請參閱

參考

CRecordset 類別

階層架構圖

CRecordset::IsFieldDirty

CRecordset::SetFieldNull

CRecordset::Edit

CRecordset::Update