Я создаю веб-страницу, которая сохраняет данные из формы в таблицу SQL. Одна из точек данных в C # является десятичной. Когда я пытаюсь отправить на сервер Sql, я получаю эту ошибку:
"Ошибка преобразования типа данных числового в числовой."
Я могу отправить SqlDecimal.Null
, и это работает. Проблема возникает только тогда, когда у меня есть фактическое значение. Я проверил, когда значение Sql 1.00
, которое должно легко соответствовать SQL decimal(4,2)
.
Вот код:
sqlParams.Add(new SqlParameter("hoursPerWeek", SqlDbType.Decimal)
{
SqlValue = hoursPerWeek==null ? SqlDecimal.Null : new sqlDecimal((decimal)hoursPerWeek)
});
С этим кодом, если hoursPerWeek
равно null
, значение должным образом сохраняется в БД.
Но если значение 1.00
, я получаю ошибку.