原来一直正常使用的代码,今天却提示出错,说不存在“行驶里程”的列,但这个列明明是有的,这是什么原因?
出错提示:
.NET Framework 版本:2.0.50727.5456
Foxtable 版本:2012.9.29.1
错误所在事件:表,评估,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.ArgumentException: 列“行驶里程”不属于表 折旧。
在 System.Data.DataRow.GetDataColumn(String columnName)
在 System.Data.DataRow.IsNull(String columnName)
在 Foxtable.DataRow.get_IsNull(String O0110O1OOl)
在 UserCode.DataColChanged(DataColEventArgs e)
--- 内部异常堆栈跟踪的结尾 ---
在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在 Foxtable.DataTable.OOll011lllOOlOO1ll1l0100(Object OO10O0, DataColumnChangeEventArgs O)
表结构:
此主题相关图片如下:捕获1.jpg
该段的代码:
……
If dr.Isnull("行驶里程") OrElse dr.Isnull("报废里程") Then
dr("R2") = Nothing
Else
If dr("行驶里程")>dr("报废里程") Then
dr("R2")=0
Else
dr("R2")=dr("计算原值")*(1-dr("行驶里程")/dr("报废里程"))
End If
End If