Вставить нулевое значение в столбец целых чисел - PullRequest
7 голосов
/ 25 июня 2011

Через интерфейс я хочу вставить значение NULL в столбец с типом данных DataType Int.

Я использовал это так:

POP.JobOrderID = Convert.ToInt32(DBNull.Value);

Но я не могу вставить значение Null, он выбрасываетошибка типа «Объект не может быть приведен из DBNull к другим типам»:

Как вставить значения NULL?

Ответы [ 5 ]

7 голосов
/ 25 июня 2011

если вы хотите это сделать POP.JobOrderID должно быть типа int? ( обнуляемый int), а не int

5 голосов
/ 25 июня 2011

kleinohad правильно.Кроме того, вы должны назначить null, а не DBNull.Value

4 голосов
/ 25 июня 2011

Используйте Nullable<Int32> или просто псевдоним: int?.

POP.JobOrderID = 5;
// or
POP.JobOrderID = null;

Использование в ADO.NET:

command.Parameters.AddWithValue("@JobOrderId", POP.JobOrderID ?? DBNull.Value);

, что равно:

POP.JobOrderID.HasValue ? POP.JobOrderID.Value : DBNull.Value;
2 голосов
/ 25 июня 2011

Это

   POP.JobOrderID = new Nullable<Int32>();

тоже должно работать, если JobOrderID имеет тип Nullable (int?).

Приветствия

0 голосов
/ 25 июня 2011

Вот так:

 POP.JobOrderID = null;    // JobOrderID should be of type int? which is a nullable-int

Надеюсь, это поможет.

...