以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据填充时空值处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158619)

--  作者:sunion
--  发布时间:2020/11/26 21:46:00
--  [求助]数据填充时空值处理


有以下代码是将A表数据的三列数据对应填充到B表的三列;

现在遇到一个问题,如果(比如)A表中“来源列三”的数据是空的,那执行下面代码时,填充到B表的“接受列三”的数据却是0。

以上所有列都是双精度小数;


如何修改代码实现:A表中的数据原封不动填充,原来是空,复制过去就是空?



Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
    For
i As Integer = 0 To Cols1.Length -1
       
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next


--  作者:有点蓝
--  发布时间:2020/11/26 22:00:00
--  
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim 
dr2 As DataRow = DataTables("表B").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
if dr1.isnull(Cols1(i)) = false
        
dr2(Cols2(i)) = dr1(Cols1(i
))
end if
    Next
Next