以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问代码问题在哪里  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92830)

--  作者:刘林
--  发布时间:2016/11/14 14:40:00
--  请问代码问题在哪里
Dim txt As String = e.sender.Text
txt = "\'%" & txt & "%\'"
Dim dr As DataRow
Dim po As Integer
dr = DataTables("成绩").Find("[考号] Like" & txt)
po = Tables("上分_table1").FindRow(dr)
If po >= 0 Then \'如果找到
    Tables("上分_table1").Position = po \'选定
  Else
    Tables("上分_table1").Position = 0
    MessageBox.show("该考号在所选学生范围内不存在")
    e.sender.text = Nothing
End If


上面代码是在text框中找加载到表中的考号,当输入考号找不到时,然后用鼠标点表中任何地方就出现:

应用程序中发生了无法处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击“退出”,应用程序将立即关闭。
未将对象引用设置到对象的实例。

详细信息
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
  

--  作者:有点蓝
--  发布时间:2016/11/14 14:54:00
--  
Dim txt As String = e.sender.Text
If txt > ""
    txt = "\'%" & txt & "%\'"
    Dim dr As DataRow
    Dim po As Integer
    po = Tables("上分_table1").FindRow("[考号] Like" & txt)
    If po >= 0 Then \'如果找到
        Tables("上分_table1").Position = po \'选定
    Else
        Tables("上分_table1").Position = 0
        MessageBox.show("该考号在所选学生范围内不存在")
        e.sender.text = ""
    End If
End If

--  作者:刘林
--  发布时间:2016/11/14 15:59:00
--  
对了,谢谢老师