1

我尝试从 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() 的方式只排除了行索引的数字。

4

1 回答 1

6

它在 C# 中,而不是在数据库中。

文档

如果 format 为 null 或空字符串,则此实例的返回值使用通用数字格式说明符 (G) 进行格式化

general format包含您要避免的零。
如果要删除它,只需执行以下操作:

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

我的 OracleDataReader 博士在哪里

于 2012-06-11T13:55:06.053 回答