次の方法で共有


CRecordset::SetFieldDirty

またはそのままとして修正をレコードセットのフィールド データ メンバーにフラグを設定します。

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

パラメーター

  • pv
    レコードセットか nullでフィールド データ メンバーのアドレスが格納されます。nullが、すべてのフィールドに対してレコードセット データ メンバーにフラグが設定されます。(C++ null は「値の一つを意味するデータベース用語の Null 値と同じではありません。」)

  • bDirty
    フィールド データ メンバーを「ダーティとして」フラグを設定する場合**[真]** (変更)。それ以外の場合は、フィールド データ メンバーを「としてフラグを設定する場合は」、FALSE クリーンアップされます (そのまま)。

解説

マークされているのは、フィールドが更新されないフィールドは、より、SQL のトラフィックが発生する可能性をそのままにするにつれて。

[!メモ]

このメンバー関数は、バルク行フェッチを使用しているレコードセットの使用できません。バルク行フェッチを実装している SetFieldDirty、アサーション エラーが発生します。バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。

これらはレコード フィールド エクスチェンジ (RFX) 機構を通じてデータ ソースのレコードを確保するフレームワークのマークによって変更されたフィールド データ メンバー書き込まれます。フィールドの値を変更しても、通常、ダーティなフィールドが自動的に設定するため、ほとんど独自 SetFieldDirty を呼び出す必要はありませんが、場合、値がフィールド データ メンバーにかかわらず、または列が明示的に更新または挿入できるようにする必要がある場合があります。

Caution メモ注意

[編集]AddNewを呼び出した後にのみこのメンバー関数を呼び出します。

関数の最初の引数に null を使用して outputColumn のフィールド param のフィールドではなくだけに関数を適用します。たとえば、呼び出し

SetFieldNull(NULL);

nulloutputColumn のフィールドだけを設定します; param のフィールドは影響を受けません。

param のフィールドを操作するには、処理するユーザー param 実際のアドレスを指定する必要があります:

SetFieldNull(&m_strParam);

これは outputColumn のフィールドと同様に nullparam のすべてのフィールドを設定できないことを意味します。

必要条件

Header: afxdb.h

参照

関連項目

CRecordset クラス

階層図

CRecordset::IsFieldDirty

CRecordset::SetFieldNull

CRecordset::Edit

CRecordset::Update