【发布时间】:2012-06-11 13:25:07
【问题描述】:
我尝试从 Oracle 数据库中读取数据。 问题是在某些情况下接收数据在数字后添加零,我不知道为什么会发生这种情况?!?
例如我想读取这样的数据
1
1,1
1,12
1,123
当我用 Oracle-Datareader 阅读它时,我得到了
1
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() 的方式只排除行索引的数字。
【问题讨论】:
-
除非您将数字存储在字符串中,否则这到底是个问题,这本身就是一个问题?
-
oracle DB中字段的精度是多少?
-
精度和Scale没有设置,为null,Data_length为22
-
问题是我读取值并将它们显示在文本框中,当我在数据库中保存 1,9 时我得到 1,90,但我想成为 1,9 进入文本框无需使用 CDbl 进行转换。数据库或oracedatareader本身一定有解决方案?
标签: c# .net oracle numbers decimal