以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  未将对象引用设置到对象的实例。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193770)

--  作者:weibu
--  发布时间:2024/10/11 19:07:00
--  未将对象引用设置到对象的实例。
Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim pn1 As WinForm.TreeNode = trv1.SelectedNode
Dim pn2 As WinForm.TreeNode = trv2.SelectedNode
Dim p1 As DataRow = pn1.DataRow
Dim p2 As DataRow = pn2.DataRow
If pn1 Is Nothing Then
MessageBox.show("请选择所属部门!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)  \' 不选择Pn1时,我想让提示窗口提示MessageBox;但实际提示未将对象引用设置到对象的实例。
Else
    If pn2 Is Nothing Then
        MessageBox.show("请选择所属岗位!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning) \'不选择Pn2时,我想让提示窗口提示MessageBox;但实际提示未将对象引用设置到对象的实例。
        Else
         Dim r As Row = Tables("UserInfo").AddNew()
         r("DepartmentName") = p1("DepartmentName")
         r("DepartmentId") = p1("DepartmentId")
         r("PositionName") = p2("PositionName")
         r("PositionId") = p2("PositionId")
         End If 
End If


--  作者:有点蓝
--  发布时间:2024/10/12 8:41:00
--  
Dim p1 As DataRow = pn1.DataRow这里就出错了,如果pn1是空值,使用空对象的属性肯定会出错。所以应该在使用这个对象任何属性之前判断