以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]未将对象引用到对象实例  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31564)

--  作者:谢天钰
--  发布时间:2013/4/17 12:50:00
--  [求助]未将对象引用到对象实例
求助~!在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编辑过]

--  作者:Bin
--  发布时间:2013/4/17 14:03:00
--  
Dim dabh As String = e.DataRow("档案编号")
        Dim cmd As SQLCommand
        cmd.C  这是什么
        cmd.CommandText = "Select * From {高随访} Where 档案编号 =\'" & dabh & "\'And 随访日期 = #" & sfrq & "# "

--  作者:jijianjsj
--  发布时间:2013/4/17 14:06:00
--  
随访日期 = #" & sfrq & "#

这个应该也有问题吧,SQL中,对日期应该是单引号’,而不是#