CRecordset::SetFieldNull
null 以外として NULL としてレコードセットのフィールド データ メンバー (特に値を持つしない) フラグまたはフラグを設定します。
void SetFieldNull(
void* pv,
BOOL bNull = TRUE
);
パラメーター
pv
レコードセットか nullでフィールド データ メンバーのアドレスが格納されます。nullが、すべてのフィールドに対してレコードセット データ メンバーにフラグが設定されます。(C++ null は「値の一つを意味するデータベース用語の Null 値と同じではありません。」)bNull
ゼロ以外のフィールド データ メンバーにする場合は値がありません (NULL) としてフラグを設定します。はフィールド データ メンバーに null 以外としてフラグが設定される場合は 0。
解説
レコードセットに新しいレコードを追加すると、すべてのフィールド データ メンバーに null 値に設定され、「ダーティとして」フラグが設定されます (変更)。データ ソースからレコードを取得すると、列に既に値があるか、が null です。
[!メモ]
バルク行フェッチを使用してこのレコードセットのメンバー関数を呼び出さないでください。バルク行フェッチを実装している SetFieldNull を呼び出すと、アサーション エラーが発生します。バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。
特に場合には値がありませんとして現在のレコードのフィールドと Null 値としてフラグを設定するに [真] に設定 bNull の呼び出し SetFieldNull。フィールドが前に示すマークが null 値であり、これで、値を変更する場合は、新しい値を設定します。SetFieldNullを null のフラグを削除する必要はありません。フィールドが null であるかどうかを確認するには IsFieldNullableを呼び出します。
注意 |
---|
関数の最初の引数に null を使用して outputColumn のフィールド param のフィールドではなくだけに関数を適用します。たとえば、呼び出し
SetFieldNull(NULL);
nullに outputColumn のフィールドだけを設定します; param のフィールドは影響を受けません。
param のフィールドを操作するには、処理するユーザー param 実際のアドレスを指定する必要があります:
SetFieldNull(&m_strParam);
これは outputColumn のフィールドと同様に nullに param のすべてのフィールドを設定できないことを意味します。
[!メモ]
パラメーター、を呼び出して、レコードセットの前に SetFieldNull に Null 値に設定すると、アサーションに開かれた結果です。この場合、呼び出し SetParamNull。
SetFieldNull は DoFieldExchangeによって実装されます。
必要条件
Header: afxdb.h