求助~!在DataColChanging中填写这个代码,想控制随访日期,如果数据库中存在相同档案编号相同随访日期的记录,那么取消操作!
Select Case e.DataCol.Name
Case "随访日期"
Dim sfrq As Date = e.NewValue
Dim dabh As String = e.DataRow("档案编号")
Dim cmd As SQLCommand
cmd.C
cmd.CommandText = "Select * From {高随访} Where 档案编号 ='" & dabh & "'And 随访日期 = #" & sfrq & "# "
If cmd.ExecuteScalar() IsNot Nothing Then
MessageBox.Show("此人在这天已经有过一次随访记录!请重新确认日期","提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
e.Cancel = True
End If
End Select
以下是报错信息
.NET Framework 版本:2.0.50727.3643
Foxtable 版本:2012.11.29.1
错误所在事件:表,高随访,DataColChanging
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
在 UserCode.DataColChanging(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.O1l10111010111llllO1llO10(Object O000l1, DataColumnChangeEventArgs O)
[此贴子已经被作者于2013-4-17 12:57:37编辑过]