Почему искажается десятичный параметр SqlParameter?

Я отправляю десятичное значение в sproc следующим образом:

SqlParameter meh = new SqlParameter("Foo", SqlDbType.Decimal);
meh.Value = "0.00001";
meh.Precision = ((System.Byte)(12));
meh.Scale = ((System.Byte)(9));

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

....,@Foo decimal(12,9),....,@Foo=10000,....

Кажется, что оно полностью отражено от десятичной точки, как мне это исправить? Обратите внимание, что я также пробовал сначала преобразовать строку в фактическое десятичное число и использовать его для установки 'meh.Value', но у него все еще есть та же проблема.

Обновлено

Я заметил, как и в приведенном выше примере, что в исходном значении десятичная точка смещена вправо на 9 позиций, то же самое значение, что и шкала. Что может вызвать это?

Обновлено снова

Я должен отметить, что я использую Sql Server 2008

5
задан LaserJesus 28 June 2011 в 04:09
поделиться