Foxtable(狐表)用户栏目专家坐堂 → 麻烦老师帮忙看看 从一个表中遍历数据写入另外一个表 能够输出值 但是遍历后新表对应的数值部分没有值


  共有3689人关注过本帖树形打印复制链接

主题:麻烦老师帮忙看看 从一个表中遍历数据写入另外一个表 能够输出值 但是遍历后新表对应的数值部分没有值

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
麻烦老师帮忙看看 从一个表中遍历数据写入另外一个表 能够输出值 但是遍历后新表对应的数值部分没有值  发帖心情 Post By:2023/3/16 23:38:00 [只看该作者]


麻烦老师帮忙看看   从一个表中遍历数据写入另外一个表  能够输出值  但是遍历后新表对应的数值部分没有值


当前代码如下:红色部分没有写入正确的值……
Dim cmd As New SQLCommand
cmd.Conne ctio nName = "主数据源"
Dim dt As DataTable
cmd.CommandText = "SEL ECT * From {费用登记}"
dt = cmd.ExecuteReader()
Dim dt2 As DataTable
cmd.CommandT ext = "SEL ECT * From {人员关系}"
dt2 = cmd.ExecuteReader()
Dim dt1 As DataTable
cmd.CommandText = "del ete From {费用登记汇总}"
cmd.ExecuteReader()
cmd.CommandText = "SE LECT * From {费用登记汇总}"
dt1 = cmd.ExecuteReader(True)
Dim Products As List(Of String())
Products = dt.GetValues("单位名称|日期|姓名")

For Each Product As String() In Products
    Dim drs As List(of DataRow) =dt.SQ LSe lect("单位名称='"  & Product(0) & "' and 姓名='" & Product(2) & "'")   '可以找到对应样本数据
    'Output.Show(Product(0))
    'Output.Show(Product(2))
    Dim dr1 As DataRow = dt1.AddNew
    For Each dc As DataCol In dt.DataCols
        For Each dr As DataRow In drs
            'output.show(dr(dc.Name))   输出能够得到对应的数值
            dr1("guid")=guid.newguid.tostring()
            dr1("单位名称")=Product(0)
            dr1("姓名")=Product(2)
            dr1("日期")=Product(1)
            Dim dr2 As DataRow =dt2.SQ LF ind("姓名='"& Product(2) &"'")
            If dr2 IsNot Nothing  Then
                dr1("关联人")=dr2("关系人姓名")
                dr1("关联关系")=dr2("与本人关系")
                
            End If
            output.show(dr("实发工资"))      输出有值
            dr1("实发工资")=dr("实发工资")
            dr1("工资")=dr("工资")
            dr1("加班费")=dr("加班费")
            dr1("补贴")=dr("补贴")
            dr1("津贴")=dr("津贴")
            dr1("外勤补助")=dr("外勤补助")
            dr1("备用1")=dr("备用1")
            dr1("备用2")=dr("备用2")
            dr1("备用3")=dr("备用3")
            dr1("备用4")=dr("备用4")
            dr1("备用5")=dr("备用5")
            dr1("医疗保险")=dr("医疗保险")
            dr1("电话费")=dr("电话费")
            dr1("其它费用")=dr("其它费用")
            dr1("备用字段")=dr("备用字段")
            dr1("签名")=dr("签名")
            dr1("目标考核奖")=dr("目标考核奖")
           
以上红色部分注释  然后用这个  得到的效果一样 'dr1(dc.Name) = dr(dc.Name)
            
        Next
    Next
    dt1.save
Next

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/17 8:37:00 [只看该作者]

这个循环去掉:For Each dc As DataCol In dt.DataCols

Dim dr1 As DataRow = dt1.AddNew放到For Each dr As DataRow In drs循环里面

 回到顶部