2012-07-30 135 views
0

我在我的表中有一個字段,其數據類型爲NUMBER (16,2)oracle數據類型問題

我試圖插入

99999999999999.99 
我使用 .NET調用程序

和插入表中的值。

所以我使用十進制(.NET類型)取值並將其作爲NUMBER(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) 
+0

什麼是您使用的實際代碼和確切的表結構? – Ben 2012-07-30 14:47:21

+0

編輯了該問題並添加了代碼和結構。 – Nits 2012-07-30 15:04:04

回答

0

這是很難說與您所提供的詳細程度,但我猜的參數類型您正在使用的Oracle存儲過程是NUMBER。它應該使用%TYPE屬性進行定義。

+0

參數使用%TYPE – Nits 2012-07-30 15:07:19

+0

定義您可以提供存儲過程的代碼嗎? – Olaf 2012-07-30 17:26:39