以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  想实现表A信息保存时,往另外一个表写入对应表a指定字段的值,提示索引超出了数组界限  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=178494)

--  作者:cnsjroom
--  发布时间:2022/7/6 16:18:00
--  想实现表A信息保存时,往另外一个表写入对应表a指定字段的值,提示索引超出了数组界限
想实现表A信息保存时,往另外一个表写入对应表a指定字段的值,提示索引超出了数组界限


Dim cmd As SQLCommand = “”
cmd.CommandText = "sele ct * fr om 解除查封或扣押通知书 where guid=\'" & e.Values("guid") & "\'"
Dim dt As DataTable = cmd.ExecuteReader(True)
Dim dr As DataRow = dt.DataRows(0)
If dr IsNot Nothing Then
    If dr("存根返还情况")="未生成" Then
        dr("存根返还情况")="已生成"
    End If

    cmd.CommandText = "sele ct * fr om 人员信息表 where guid=\'" & dr("身份证号") & "\'"
    msg(dr("身份证号") )
    Dim dt1 As DataTable = cmd.ExecuteReader(True)
    Dim dr1 As DataRow = dt1.DataRows(0)
    If dr1 IsNot Nothing Then   \'如果存在这个身份证号的数据,就不做操作,反之就新增数据行并保存
    Else
\' msg(dr("身份证号"))
        dt1.AddNew
        dr1("姓名")=dr("对象")
        dr1("身份证号")=dr("身份证号") 
    End If
    dt1.Save
End If
dt.Save

--  作者:有点蓝
--  发布时间:2022/7/6 16:25:00
--  
判断ExecuteReader是否返回数据应该这样判断

Dim dt As DataTable = cmd.ExecuteReader(True)
if dt.datarows.count > 0 then