次の方法で共有


CDaoRecordset::SetFieldNull

null 以外として NULL としてレコードセットのフィールド データ メンバー (特に値を持つしない) フラグまたはフラグを設定するには、このメンバー関数を呼び出して。

void SetFieldNull(
   void* pv,
   BOOL bNull = TRUE 
);

パラメーター

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

  • bNull
    ゼロ以外のフィールド データ メンバーにする場合は値がありません (NULL) としてフラグを設定します。はフィールド データ メンバーに null 以外としてフラグが設定される場合は 0。

解説

SetFieldNullDoFieldExchange 機構にバインドされた各フィールドに使用されます。

レコードセットに新しいレコードを追加すると、すべてのフィールド データ メンバーに null 値に設定され、「ダーティとして」フラグが設定されます (変更)。データ ソースからレコードを取得すると、列に既に値があるか、が null です。フィールドの Null をフックすることが適切である場合 CDaoException がスローされます。

Double バッファリングの機構を操作する場合、特に場合には値がありませんとして現在のレコードのフィールドと Null 値としてフラグを設定するに [真] に設定 bNull の呼び出し SetFieldNull。フィールドが前に示すマークが null 値であり、これで、値を変更する場合は、新しい値を設定します。SetFieldNullを null のフラグを削除する必要はありません。フィールドが null であるかどうかを確認するには IsFieldNullableを呼び出します。

Double バッファリング機構を使用しない場合、フィールドの値を変更すると、ダーティ、NULL 以外として自動的にフィールドを設定しません。特にフィールドをダーティ、NULL 以外設定する必要があります。m_bCheckCacheForDirtyFields に含まれているフラグは、このフィールドの自動チェックを制御します。

DFX の機構は PSEUDOnullの使用が行われます。詳細については、CDaoFieldExchange::m_nOperationを参照してください。

[!メモ]

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

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

SetFieldNull(NULL);      

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

必要条件

Header: afxdao.h

参照

関連項目

CDaoRecordset クラス

階層図

CDaoRecordset::SetParamValue