以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 为什么自动填充的数值列空值会变为0 (http://foxtable.com/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的。这个没办法,必须转换。 |