CRecordset::IsFieldDirty
Edit または AddNew の呼び出し以降、指定したフィールド データ メンバーが変更されたかどうかを調べます。
BOOL IsFieldDirty(
void * pv
);
パラメーター
- pv
状態を調べるフィールド データ メンバーへのポインター。変更されたフィールドがあるかどうかを調べるときは NULL を指定します。
戻り値
AddNew または Edit の呼び出し以降、指定したフィールド データ メンバーが変更されている場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
すべてのダーティ フィールド データ メンバーのデータは、CRecordset の Update メンバー関数を Edit や AddNew の呼び出しに続いて呼び出して現在のレコードを更新したときに、データ ソースのレコードに書き込まれます。
注意
このメンバー関数は、バルク行フェッチを使用したレコードセットには適用できません。 バルク行フェッチを実装した場合、IsFieldDirty は常に FALSE を返し、アサートします。 バルク行フェッチの詳細については、資料を参照してくださいレコード セット:一括 (ODBC) 内のレコードをフェッチ。
IsFieldDirty の呼び出しにより、フィールドのダーティ ステータスが再評価されるため、直前の SetFieldDirty の呼び出しの結果に影響を与えます。 AddNew の場合は、現在のフィールドの値が PSEUDO NULL 以外の場合は、フィールド ステータスにダーティが設定されます。 Edit の場合は、フィールド値がキャッシュ値と異なると、フィールド ステータスにダーティが設定されます。
IsFieldDirty は DoFieldExchange を使って実装されます。
ダーティ フラグの詳細についてを参照してください「レコード セット:レコード セット (Odbc) を選択する方法。
例外
このメソッドは、CMemoryException* 型の例外をスローできます。
必要条件
**ヘッダー:**afxdb.h