Поделиться через


CRecordset::IsFieldNullable

Возвращает ненулевое значение, если указанное поле в текущей записи можно задать значение null (не имеющий значение).

BOOL IsFieldNullable( 
   void * pv  
);

Параметры

  • pv
    Указатель на состояние элемента данных, поля которого необходимо проверить или NULL для определения, является ли какие-либо поля можно установить в значение NULL.

Заметки

Эта функция-член вызывается с целью определения, является ли элемент данных для указанного поля "допускает значение null" (может быть установлено в значение NULL. C++ NULL отличается от null, в терминологии базы данных означает "не иметь никакого значения").

Примечание

Если реализован bulk строку выборку, то нельзя вызывать IsFieldNullable.Вместо этого вызовите функцию-член GetODBCFieldInfo, чтобы определить, является ли поле можно установить в значение NULL.Обратите внимание, что всегда можно вызвать GetODBCFieldInfo, независимо от реализации ли пакетная выборка строки.Дополнительные сведения о массовой строке выборке см. в статье Набор записей. Пакетная выборка строк (ODBC).

Поле, которое не может быть null, должно иметь значение. При попытке задать это поле значение null при добавлении или обновлении, то запись, источник данных отклоняет добавление или обновление и обновление вызовет исключение. Исключение возникает при вызове Обновить, а не при вызове SetFieldNull.

Использование NULL первого аргумента функции применяет функцию только к полям outputColumn, не полям param. Например, вызов

SetFieldNull(NULL);

устанавливает поля outputColumn только к NULL; поля param будут без изменений.

Для работы в полях param необходимо указать фактический адрес param которые необходимо работать on, например:

SetFieldNull(&m_strParam);

Это означает, что не может установить все поля param к NULL, как с полями outputColumn.

IsFieldNullable реализуется с помощью DoFieldExchange.

Исключения

Этот метод может создавать исключения типа CDBException*.

Требования

Header: afxdb.h

См. также

Ссылки

Класс CRecordset

Диаграмма иерархии

CRecordset::IsFieldNull

CRecordset::SetFieldNull