将Null值插入整数列

时间:2011-06-25 14:29:22

标签: c# .net ado.net null int

通过前端,我想将NULL值插入DataType为Int的列。

我这样用过:

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

但我无法插入Null值,它会抛出错误,例如“对象无法从DBNull转换为其他类型”:

如何插入NULL值?

5 个答案:

答案 0 :(得分:7)

如果你愿意这样做POP.JobOrderID应该输入int?nullable int)而不是int

答案 1 :(得分:5)

kleinohad是对的。此外,您应该指定null,而不是DBNull.Value

答案 2 :(得分:4)

使用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;

答案 3 :(得分:2)

   POP.JobOrderID = new Nullable<Int32>();
如果JobOrderID是可以为空的类型(int?),

也应该有效。

干杯

答案 4 :(得分:0)

像这样:

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

希望有所帮助。