Foxtable(狐表)用户栏目专家坐堂 → 遍历行与列赋值 得到列名值为空?怎么解决呢?


  共有5413人关注过本帖平板打印复制链接

主题:遍历行与列赋值 得到列名值为空?怎么解决呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
遍历行与列赋值 得到列名值为空?怎么解决呢?  发帖心情 Post By:2022/10/22 11:09:00 [只看该作者]

 遍历行与列赋值  得到列名值为空?怎么解决呢?

 

在同一个表中  当提供单位或个人为多值时,将多值进行拆分生成多行数据  同时对应的其它列的值  全部相同  当前代码只实现了将多值拆分成多行,其它列没有对应复制过来

 
此主题相关图片如下:21.png
按此在新窗口浏览图片

 

当前代码为:【经判断系红色部分代码出错,得不到对应的列名并赋值】
cmd.Com mandText =  "sel ect * from {调取证据通知书} where 提供单位或个人='" & e.Values("证据提供者") & "'"
If cmd.Execut eScalar > 0 Then    '查找到数据
    For Each s As String In str.split(",")    '对传入的值进行拆分
        If s.Length>0 Then  '如果拆分的值大于0
            Dim dt1 As DataTable = cmd.ExecuteReader()
            Dim bb1 As DataRow
            cmd.CommandText =  "sel ect * from {调取证据通知书} where 提供单位或个人='" & s & "'"
            Dim dt As DataTable = cmd.ExecuteReader(True)
            Dim bb As DataRow
            If dt.DataRows.Count>0 Then   '如果S数据存在,暂时不做操作
               
            Else   '如果s数据不存在,则新增数据
                For Each Row As DataRow In dt1.DataRows     '遍历dt1的所有行
                    For Each Col As DataCol In dt1.datacols   '遍历dt1的所有列
                        bb=dt.AddNew          '新增dt表行
                        If Col.name="提供单位或个人" Then
                            bb("提供单位或个人")=s   '指定提供单位或个人为s数据
                        Else
                            bb(Col.name)=bb1(Col.name)  '其他列直接对应列名赋值相应的数据
                        End If
                    Next
                Next
            End If
            dt.save
        End If
    Next
    cmd.CommandText =  "del ete from {调取证据通知书} where 提供单位或个人='" & e.Values("证据提供者") & "'"
    cmd.ExecuteReader
End If


[此贴子已经被作者于2022/10/22 11:16:32编辑过]

 回到顶部