0

テーブルにデータ型が のフィールドがありNUMBER (16,2)ます。

挿入しようとしています

99999999999999.99

私は.NETプロシージャを呼び出し、テーブルに値を挿入するために使用しています。

NUMBERしたがって、Decimal (.NET Type) を使用して値を取得し、それを(OracleType)として Oracle Proc に送信しています。しかし、どういうわけか、procから丸められた値を取得しています。

100000000000000

有効桁数が14以上の場合に発生しています。

さまざまな組み合わせを試しNUMBER(17,2)ましたが、何も機能しませんでした。

問題は何ですか?

ここに私が使っているものがあります

Decimal numberField = Convert.ToDecimal(value);
OracleParameter oraPram;
            oraPram = new OracleParameter("paramName", OracleType.Number);
            oraPram.Direction = ParameterDirection.Input;
            oraPram.Value = numberField;

そして、テーブル構造は

Id      ----  Number
Quant   ----- Number(16,2)
4

1 に答える 1

0

提供した詳細レベルで判断するのは難しいですが、使用しているOracleストアドプロシージャのパラメータタイプはNUMBERだと思います。%TYPE属性を使用して定義する必要があります。

于 2012-07-30T15:03:52.047 に答える