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