次の方法で共有


CRecordset::IsFieldDirty

更新 : 2007 年 11 月

Edit または AddNew の呼び出し以降、指定したフィールド データ メンバが変更されたかどうかを調べます。

BOOL IsFieldDirty( 
   void * pv  
);

パラメータ

  • pv
    状態を調べるフィールド データ メンバへのポインタ。変更されたフィールドがあるかどうかを調べるときは NULL を指定します。

戻り値

AddNew または Edit の呼び出し以降、指定したフィールド データ メンバが変更されている場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

すべてのダーティ フィールド データ メンバのデータは、CRecordsetUpdate メンバ関数を EditAddNew の呼び出しに続いて呼び出して現在のレコードを更新したときに、データ ソースのレコードに書き込まれます。

ef6t2598.alert_note(ja-jp,VS.90).gifメモ :

このメンバ関数は、バルク行フェッチを使用したレコードセットには適用できません。バルク行フェッチを実装した場合、IsFieldDirty は常に FALSE を返し、アサートします。バルク行フェッチの詳細については、「レコードセット : バルク行フェッチ (ODBC)」を参照してください。

IsFieldDirty の呼び出しにより、フィールドのダーティ ステータスが再評価されるため、直前の SetFieldDirty の呼び出しの結果に影響を与えます。AddNew の場合は、現在のフィールドの値が PSEUDO NULL 以外の場合は、フィールド ステータスにダーティが設定されます。Edit の場合は、フィールド値がキャッシュ値と異なると、フィールド ステータスにダーティが設定されます。

IsFieldDirtyDoFieldExchange を使って実装されます。

ダーティ フラグの詳細については、「レコードセット : レコード選択のしくみ (ODBC)」を参照してください。

例外

このメソッドは、CMemoryException* 型の例外をスローできます。

必要条件

ヘッダー : afxdb.h

参照

参照

CRecordset クラス

階層図

CRecordset::SetFieldDirty

CRecordset::IsFieldNull

その他の技術情報

CRecordset のメンバ