以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]调用的目标发生了异常  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=75054)

--  作者:aidimeng
--  发布时间:2015/9/25 13:31:00
--  [求助]调用的目标发生了异常

刚刚购买产品,在练习过程中遇到了一个困难

总是 提示  调用的目标发生了异常。数组超接。

麻烦专家给予指正

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人事管理系统.rar

 

 

报错所在代码

 


If e.DataCol.Name = "身份证号码" Then \'如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号码") Then \'身份证号码是否为空
        e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
        e.DataRow("性别") = Nothing
    Else
        \'否则从身份证号码列中提取出生日期
        e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码"))
        \'MessageBox.Show(ReadSex(e.DataRow("身份证号码")))
        e.DataRow("性别") = ReadSex(e.NewValue)
        e.DataRow("性别")= ReadSex(e.DataRow("身份证号码"))
        Dim bm As String = e.DataRow("身份证号码").SubString(0,6)
        Dim cmd As new  SQLCommand
       cmd.C
       cmd.CommandText=" selec  t 籍贯 from {身份证籍贯编码} where 籍贯编码= \'" & bm & " \'  "
      \' MessageBox.Show(bm)
        Dim dt As DataTable
         dt = cmd.ExecuteReader()
          e.DataRow("籍贯")=(dt.DataRows(0)(0))       
    End If
End If

 

[此贴子已经被作者于2015/9/25 13:52:36编辑过]

--  作者:Hyphen
--  发布时间:2015/9/25 13:35:00
--  
把出错代码贴出来
--  作者:aidimeng
--  发布时间:2015/9/25 13:37:00
--  

附件不能上传,代码贴上了 提示没有权限

[此贴子已经被作者于2015/9/25 13:38:00编辑过]

--  作者:aidimeng
--  发布时间:2015/9/25 13:40:00
--  
里面有图片,现在传上来了 不好意思
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人事管理系统.rar

[此贴子已经被作者于2015/9/25 13:44:31编辑过]

--  作者:Hyphen
--  发布时间:2015/9/25 13:40:00
--  
代码上传http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632
--  作者:aidimeng
--  发布时间:2015/9/25 13:41:00
--  

传附件了


--  作者:Hyphen
--  发布时间:2015/9/25 14:05:00
--  

If e.DataCol.Name = "身份证号码" Then \'如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号码") OrElse ValidPIN(e.DataRow("身份证号码")) = False Then \'身份证号码是否为空
        e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
        e.DataRow("性别") = Nothing
    Else
        \'否则从身份证号码列中提取出生日期
        e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码"))
        \'MessageBox.Show(ReadSex(e.DataRow("身份证号码")))
        \'e.DataRow("性别") = ReadSex(e.NewValue)
        e.DataRow("性别")= ReadSex(e.DataRow("身份证号码"))
        Dim bm As String = e.DataRow("身份证号码").SubString(0,6)
        Dim cmd As new  SQLCommand
        cmd.C
        cmd.CommandText=" sele ct 籍贯 from {身份证籍贯编码} wh ere 籍贯编码= \'" & bm & "\'"
        \' MessageBox.Show(bm)
        Dim dt As DataTable
        dt = cmd.ExecuteReader()
        If dt.DataRows.Count > 0 Then
            e.DataRow("籍贯")=dt.DataRows(0)("籍贯")
        End If
    End If
End If


--  作者:大红袍
--  发布时间:2015/9/25 14:07:00
--  

Dim dt As DataTable
dt = cmd.ExecuteReader()
e.DataRow("籍贯")=(dt.DataRows(0)(0))

 

改成

 

Dim dt As DataTable
dt = cmd.ExecuteReader()

If dt.DataRows.Count > 0 Then
    e.DataRow("籍贯")=(dt.DataRows(0)("籍贯"))

End If


--  作者:aidimeng
--  发布时间:2015/9/25 14:15:00
--  
谢谢  列名问题 啊