我尝试从Oracle数据库中读取数据。 问题是,在某些情况下,接收数据会在数字后面添加零,我不知道为什么会发生这种情况?!
例如,我想阅读像这样的数据
1
1,1
1,12
1123
当我用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()的方式只排除了行索引的数字。
答案 0 :(得分:6)
它在C#中,而不在DB中。
如果format为null或为空字符串,则返回此值 实例使用通用数字格式说明符(G)格式化
general format
包含您要避免的零
如果你想删除它,只需执行:
string sd = dr.GetDecimal(0).ToString("G0");
dr是我的OracleDataReader