CRecordset::IsFieldDirty
更新 : 2007 年 11 月
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