2012-06-11 27 views
1

我嘗試從Oracle數據庫讀取數據。 問題是,在某些情況下,接收數據在數字後面加上零,我不知道爲什麼會發生這種情況?!?如何將Oracle數值轉換爲不帶零的.NET?

例如,我想讀出的數據這樣

1,1-

1,12-

當我和Oracle的DataReader的讀它,我得到

1,10 < -

1,12

1,1230 < -

每次小數位是1,3,5,7長時間在結果中添加一個0。 但爲什麼會發生這種情況? 有誰知道這種問題?

編輯:

Dim cmd As OracleCommand = New OracleCommand(Select_Statement, Connection) 

Dim dr As OracleDataReader 

dr = cmd.ExecuteReader 


While dr.Read() 

      If dr("C1").ToString = V1 Then 

       Me.Txt_1.Text = dr.GetDecimal(3).ToString("G0") 

       Me.Txt_2.Text = dr(c4) 

       Me.Txt_3.Text = dr(c5) 

       Me.Txt_4.Text = dr(c6) 


      End If 

      If dr("C2").ToString = V2 Then 

       Me.Txt_5.Text = dr(c3) 

       Me.Txt_6.Text = dr(c4) 

       Me.Txt_7.Text = dr(c5) 

       Me.Txt_8.Text = dr(c6) 


      End If 

     End While 

dr.Close() 

這是我從數據庫中讀取數據的方式,如果有更好的辦法,我會很高興的一些技巧!因爲使用dr.GetDecimal()的方式僅用於行索引編號。

+0

究竟如何,這是除非你存儲你的號碼中的字符串,這是一個問題本身有問題? –

+0

oracle數據庫中字段的精度是多少? – Brian

+0

精度和規模沒有設置,它是空的,Data_length是22 – user1448998

回答

6

它在C#中,而不是在數據庫中。

Documentation

如果格式爲空或空字符串,這個 實例的返回值被格式化通用數值格式說明(G)

general format包含你想避免的零。
如果你想刪除它,只是做:

string sd = dr.GetDecimal(0).ToString("G0"); 

凡博士是我的OracleDataReader

+0

好吧,謝謝,現在我明白了,但是這與使用CDbl()的結果是一樣的,是否有任何常規選項在數據讀取器的整個項目中使用toString設置數字的整個項目? – user1448998

+0

@ user1448998 - 否 –

相關問題