CRecordset::IsFieldNullable
返回非零,则在当前记录的指定字段可以设置为Null (具有值)。
BOOL IsFieldNullable(
void * pv
);
参数
- pv
对要检查的字段数据成员状态的一来确定指针或的 NULL 任何字段是否可以设置为Null值。
备注
调用该成员函数确定指定的字段数据成员是“null” (可以设置为Null值;C++ NULL 与Null,因此,在数据库术语,并不意味着“具有值”)。
说明 |
---|
如果已实现批量取行,则不能调用 IsFieldNullable。相反,请调用 GetODBCFieldInfo 成员函数确定字段是否可以设置为Null值。请注意您始终可以调用 GetODBCFieldInfo,无论是实现批量取行。有关批量取行的更多信息,请参见文章 记录集:获取记录(odbc)。 |
不能为Null的字段必须具有值。如果尝试设置此类字段设置为Null,在添加或更新记录时,数据源拒绝这次添加或更新,因此,更新 将引发异常。发生异常,当您调用 Update,因此,当您调用 SetFieldNull时。
使用函数的第一个参数的 NULL 将只将函数应用于 outputColumn 字段,而不是 param 字段。例如,调用
SetFieldNull(NULL);
将设置仅 outputColumn 字段设置为 NULL; param 字段将不受影响。
在 param 字段若要工作,必须提供单个要使用的 param 物理地址,例如:
SetFieldNull(&m_strParam);
这意味着不能将所有 param 字段添加到 NULL,在中,您可以使用 outputColumn 字段。
IsFieldNullable 通过 DoFieldExchange实现。
异常
此方法会引发类型 **CDBException***的异常。
要求
Header: afxdb.h