狐爸:在制作员工信息表的时候,我在表DatacolChanged里面根据帮助文件输入了一下代码,方便从身份证号码里提取出生日期,性别,籍贯等信息,If e.DataCol.Name = "身份证号码" Then
If e.DataRow.IsNull("身份证号码") Then
e.DataRow("出生日期") = Nothing Or e.DataRow("性别") = Nothing
Else
e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码"))
e.DataRow("性别")=ReadSex(e.DataRow("身份证号码"))
End If
ElseIf e.DataCol.Name = "出生日期" Then
If e.DataRow.IsNull("出生日期") Then
e.DataRow("年龄") = Nothing
Else
e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
End If
-------------------------------------------------------------------------------
Select Case e.DataCol.name
Case "身份证号码"
If e.DataRow.IsNull("身份证号码") Then
e.DataRow("籍贯") = Nothing
Else
Dim bm As String = e.DataRow("身份证号码").SubString(0,6)
Dim jg As DataRow = DataTables("身份证籍贯编码").Find("籍贯编码 = '" & bm & "'")
If jg IsNot Nothing Then
e.DataRow("籍贯") = jg("籍贯")
End If
End If
End Select
(因为是分部找到的代码,所以是分开输入的)
但是如果我把身份证号码删掉(比如想重置列以便更新数据)的时候会出现报错 错误所在事件:表,基本信息,DataColChanged
详细错误信息:
调用的目标发生了异常。
从类型“Boolean”到类型“Date”的转换无效。
这是怎么回事?是否代码需要改进?
希望能给小白指导一下,谢谢!