2013-09-23 55 views
0

如果我們用boolean和SQL bit工作,你可以指定這樣上插入SQL表..插入空值或十進制

oHotel.active ? 1 : 0 

我也有類似的情況,但我要檢查小數價值在那裏將

decimal.MaxValue 

當我需要插入一個空,如果它不包括maxValue我必須將他的價值..

supplement.amount == decimal.MaxValue ? DBNull.Value : supplement.amount 

但不起作用,它告訴我不能將空值轉換成小數。

有人知道這樣的工作方式嗎?該值可以是SQL表null ..

+0

您使用的是C#嗎? –

+0

是的,我使用C#! – bombai

+0

使用小數?並將其設置爲空而不是DBNull.Value – Tanner

回答

4

要麼的first_expressionsecond_expression類型必須是相同的,或隱式轉換必須存在從一種類型到另.. MSDN

我不認爲你可以直接使用DBNULL作爲你的第一個表達式。

 decimal? nullval = null; 
     or 
     decimal? nullval = Convert.ToDecimal(DBNull.Value); 
     supplement.amount == decimal.MaxValue ? nullval : supplement.amount 
0

使用可爲空的小數

decimal? oHotel = null; 
+0

謝謝。我沒有考慮使用可爲空的小數,但是當我有相同的檢查不工作,因爲我有同樣的問題,不能使用dbnull.value與小數檢查他的價值.. – bombai