2013-09-23 5 views
0

Если мы работаем с boolean и SQL bit, вы можете указать, как это вставить в таблицу SQL ..Вставка Null Значение или десятичное

oHotel.active ? 1 : 0 

У меня есть подобный случай, но я должен проверить десятичную значение, при котором он будет

decimal.MaxValue 

Когда я должен вставить нуль, если это не MaxValue я должен вставить его значение ..

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

но не работает, он говорит мне, что не может преобразовать нулевое значение в десятичное число.

Кто-то знает короткий рабочий способ, как этот? Значение может быть в SQL таблице null ..

+0

Вы используете C#? –

+0

Да, я использую C#! – bombai

+0

использовать десятичный? и установить его в null вместо DBNull.Value – Tanner

ответ

4

Либо тип first_expression и second_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

Спасибо. Я havent думаю о использовании нулевых десятичных знаков, но когда у меня такая же проверка не работает, потому что у меня такая же проблема, не могу использовать dbnull.value с десятичной точностью, чтобы проверить его значение. – bombai

Смежные вопросы