我尝试从 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() 的方式只排除行索引的数字。
最佳答案
它在 C# 中而不是在数据库中。
来自Documentation :
If format is null or an empty string, the return value of this instance is formatted with the general numeric format specifier (G)
通用格式
包含您要避免的零。
如果要删除它,只需执行以下操作:
string sd = dr.GetDecimal(0).ToString("G0");
dr 是我的 OracleDataReader
关于c# - 如何在没有 Zeros 的情况下将 Oracle 数值获取到 .NET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981003/