2011-06-25 44 views
7

通過前端,我想將NULL值插入DataType爲Int的列。將空值插入整數列

我用這樣的:

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

但我不能插入NULL值,它會拋出錯誤,如「對象不能從DBNull的被轉換爲其他類型」:

如何插入NULL值?

回答

7

,如果你想做到這一點POP.JobOrderID應該是類型int?nullable INT)不是int

+0

POP是一個對象和JobOrderID是一個Int。如何分配像這樣? – thevan

+0

我正在使用三層體系結構。我會像上面那樣傳遞我在問題中給出的參數。如何在這裏應用int?(可爲空)? – thevan

5

kleinohad是正確的。此外,應先分配null,不DBNull.Value

+0

我正在使用三層體系結構。我會像上面那樣傳遞我在問題中給出的參數。如何在這裏應用int?(可爲空)? – thevan

0

像這樣:

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

希望有所幫助。

2

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

應太中頻JobOrderID是可空類型(int?)。

乾杯

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;