CRecordset::SetFieldNull
标记记录集的字段数据成员为Null (特别是有值)或如非null。
void SetFieldNull(
void* pv,
BOOL bNull = TRUE
);
参数
pv
在记录集或 NULL包含字段数据成员的地址。如果 NULL,记录集的所有字段数据成员标记。(C++ NULL 与在数据库术语的Null,并不意味着“具有value ". ")bNull
非零,则字段数据成员不将标记为的值(Null)。否则0,如果字段数据成员将标记为非null。
备注
当您向记录集添加新记录时,所有字段数据成员最初设置为Null值并标记为“错误” (更改)。当从数据源中检索记录,其列的值或为Null。
说明 |
---|
不要对使用批量取行的记录集的此成员函数。如果已实现批量取行,则调用 SetFieldNull 导致生成失败的断言。有关批量取行的更多信息,请参见文章 记录集:获取记录(odbc)。 |
如果您专门希望指定为一个的当前记录的字段值,则调用 SetFieldNull 和 bNull 设置为 TRUE 标记象Null。如果字段以前被标记为Null,您现在要为其指定值,将其新值。您不必移除后标志 SetFieldNull。若要确定字段是否允许为Null,请调用 IsFieldNullable。
警告 |
---|
使用函数的第一个参数的 NULL 将只将函数应用于 outputColumn 字段,而不是 param 字段。例如,调用
SetFieldNull(NULL);
将设置仅 outputColumn 字段设置为 NULL; param 字段将不受影响。
在 param 字段若要工作,必须提供单个要使用的 param 物理地址,例如:
SetFieldNull(&m_strParam);
这意味着不能将所有 param 字段添加到 NULL,在中,您可以使用 outputColumn 字段。
说明 |
---|
当将参数设置为Null时,对 SetFieldNull 在记录集前是在断言的已打开的结果。在这种情况下,调用 SetParamNull。 |
SetFieldNull 通过 DoFieldExchange实现。
要求
Header: afxdb.h