以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么自动填充的数值列空值会变为0  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107832)

--  作者:happyft
--  发布时间:2017/10/11 9:06:00
--  为什么自动填充的数值列空值会变为0
用以下代码测试
Dim r As Row = Tables("订单_明细").current
Dim cmd As New SQLCommand
cmd.ConnectionName = Mydata
Dim dt As DataTable
cmd.CommandText = "SE LECT 规格,长度 From {产品编码} where [产品编码] = \'" & r("产品编码") & "\'"
dt = cmd.ExecuteReader()
If dt.DataRows.count > 0 Then
    Dim dr2 As DataRow = dt.DataRows(0)
    r("规格") = dr2("规格")
    r("长度") = dr2("长度")  \'长度会按0填充
end if

    If Tables("订单_明细").Cols("长度").IsNumeric Then
        If dr2("长度") > 0 Then  \'不判断数值列为空时会按0填充
            r("长度") = dr2("长度")
        End If
    Else
        r("规格") = dr2("规格")
        r("长度") = dr2("长度")
    End If

 想让后台数据值列是空值时,不要用0填充 ,,现在是每个地方都只能加上下面的代码进行判断,但是觉得很繁琐, 为什么会这样?
谢谢!
   



--  作者:有点甜
--  发布时间:2017/10/11 10:31:00
--  
 数值列如果为nothing,都会默认转换成0的。这个没办法,必须转换。