以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]调用的目标发生了异常 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75054)
|
-- 作者:aidimeng
-- 发布时间:2015/9/25 13:31:00
-- [求助]调用的目标发生了异常
刚刚购买产品,在练习过程中遇到了一个困难
总是 提示 调用的目标发生了异常。数组超接。
麻烦专家给予指正
报错所在代码
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
--
里面有图片,现在传上来了 不好意思
[此贴子已经被作者于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
--
谢谢 列名问题 啊
|