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

请参见

参考

CRecordset选件类

层次结构图

CRecordset::IsFieldNull

CRecordset::SetFieldNull