共用方式為


CDaoRecordset::SetFieldDirty

呼叫此成員函式旗標資料錄集的欄位資料成員標記為已變更或標記成未變更。

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

參數

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

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

備註

標記欄位,而不變更確保欄位不會更新。

確保他們的框架標記已變更的欄位資料成員至資料錄中寫入資料來源是由 DAO 資料錄欄位交換 (DFX) 機制。 變更值會自動] 欄位通常成員設定記錄變更的欄位,因此,您很少需要呼叫 SetFieldDirty ,不過,您可能會想要確保資料行會明確更新或插入的值為何在欄位資料成員。 DFX 機制也使用 PSEUDONULL。 如需詳細資訊,請參閱 CDaoFieldExchange::m_nOperation

如果未使用雙重緩衝機制,則會變更欄位的值不會自動設定欄位標記為已變更。 在這個案例中,明確地將欄位標記為已變更是必要的。 在 m_bCheckCacheForDirtyFields 包含的旗標會控制這個自動欄位檢查。

注意事項注意事項

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

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

SetFieldDirty(NULL);

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

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

SetFieldDirty(&m_strParam);

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

SetFieldDirty 傳遞 DoFieldExchange中實作。

需求

Header: afxdao.h

請參閱

參考

CDaoRecordset 類別

階層架構圖

CDaoRecordset::SetFieldNull

CDaoRecordset::SetFieldValue