次の方法で共有


CRecordset::IsFieldDirty

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

BOOL IsFieldDirty( 
   void * pv  
);

パラメーター

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

戻り値

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

解説

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

注意

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

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

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

ダーティ フラグの詳細についてを参照してください「レコード セット:レコード セット (Odbc) を選択する方法

例外

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

必要条件

**ヘッダー:**afxdb.h

参照

参照

CRecordset クラス

階層図

CRecordset::SetFieldDirty

CRecordset::IsFieldNull

その他の技術情報

CRecordset のメンバー