通过前端,我想将NULL值插入DataType为Int的列。
我这样用过:
POP.JobOrderID = Convert.ToInt32(DBNull.Value);
但我无法插入Null值,它会抛出错误,例如“对象无法从DBNull转换为其他类型”:
如何插入NULL值?
答案 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
希望有所帮助。