遍历行与列赋值 得到列名值为空?怎么解决呢?
在同一个表中 当提供单位或个人为多值时,将多值进行拆分生成多行数据 同时对应的其它列的值 全部相同 当前代码只实现了将多值拆分成多行,其它列没有对应复制过来
此主题相关图片如下: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编辑过]