Вероятно, ваша основная проблема в том, что ваша ценность не null
, а DbNull.Value
.Поэтому для правильной обработки этого потребуется встроенный синтаксис SqlReader
или условный оператор.
if(reader["Field"] != DbNull.Value)
{
// If a database null value is not found, attempt to cast.
}
Другая проблема, с которой вы можете столкнуться, - числовое значение может иметь точность в правой части десятичного числа, поэтомуимейте это в виду при попытке сыграть.Например, вы можете использовать десятичную дробь.