IsNullable
Свойство возвращает или устанавливает значение, показывающее, может ли параметр принимать null-значения:
-
true – null-значения допускаются;
-
false – null-значения запрещены.
Свойство доступно только для чтения и устанавливается ADO.NET-провайдером автоматически при привязке параметра к какому-либо столбцу выборки данных (т.е. для этого столбца проверяется ограничение NOT NULL).
Примечание
В текущей версии ADO.NET-провайдера автоматическая установка свойства IsNullable не поддерживается.
Работа с null-значениями выполнятся с помощью класса DBNull
.
Класс DBNull
представляет несуществующее значение. Например, в поле строки таблицы БД могут отсутствовать данные. В этом случае, поле считается несуществующим, а не просто не имеющим значения. Объект DBNull
представляет несуществующее поле (значение).
Тип DBNull
является одноэлементным классом, т.е. допускается существование только одного объекта DBNull
. Член DBNull.Value
представляет единственный объект DBNull
. DBNull.Value
можно использовать для явного присвоения несуществующего значения полю таблицы БД, хотя большинство поставщиков данных ADO.NET обеспечивает автоматическое присвоение значений DBNull при отсутствии в поле допустимого значения. Чтобы определить, является ли значение, извлеченное из поля таблицы БД, значением DBNull
, можно передать значение этого поля методу DBNull.Value.Equals
. Однако в некоторых языках программирования и объектах БД предусмотрены методы, с помощью которых можно намного проще определить, содержится ли в поле таблицы БД значение DBNull.Value
. К их числу относится метод DbDataReader.IsDBNull
.
Не следует путать объект DBNull
с понятием null в объектно-ориентированных языках программирования. В объектно-ориентированных языках программирования null-значение означает отсутствие ссылки на объект. Объект же DBNull
представляет неинициализированный вариант или несуществующее значение поля таблицы БД.
Декларация
public bool IsNullable {get; set;};
Значение свойства
Объект типа bool, определяющий допустимость null-значений.
Исключения
Отсутствуют.
Примеры
1) Получение свойства.
bool isNullable = parameter.IsNullable;
2) Установка свойства.
parameter.IsNullable = true;