以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这是什么错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97556)

--  作者:ayiken
--  发布时间:2017/3/14 17:16:00
--  这是什么错误
.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,增加病史,NumericComboBox1,ValueChanged
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:ayiken
--  发布时间:2017/3/14 17:29:00
--  
有病人信息,病史,住院记录等三个表,操作顺序:病人信息录入完成后 打开病史窗口录入已录入好的住院号1时,病人其他信息显示在对应的控件中,但是遇到一楼的错误,请老师指正!
--  作者:ayiken
--  发布时间:2017/3/14 17:30:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:病人管理.rar


--  作者:有点蓝
--  发布时间:2017/3/14 17:53:00
--  

ValueChanged事件

 

If e.Sender.Value IsNot Nothing Then
    Dim dt As DataTable
    cmd1.CommandText = "Select [_Identify],姓名 ,性别 ,年龄 From {病人信息} Where 住院号 = \'" & e.Sender.Value & "\'"
    dt = cmd1.ExecuteReader()
    If dt.DataRows.Count > 0 Then
        e.Form.Controls("TextBox2").Value = dt.DataRows(0)("姓名")
        e.Form.Controls("TextBox3").Value = dt.DataRows(0)("性别")
        e.Form.Controls("TextBox4").Value = dt.DataRows(0)("年龄")
    End If
End If

 

Enter事件

 

If Tables.Contains(e.form.TableName) Then
    If Tables(e.form.TableName).Current IsNot Nothing
        Dim dr As DataRow = Tables(e.form.TableName).Current.DataRow
        If dr.RowState <> DataRowState.Added Then \'如果不是新增行
            e.Sender.ReadOnly = BooleanEnum.True
        End If
    End If
End If


--  作者:ayiken
--  发布时间:2017/3/14 18:13:00
--  
还是出现一样的错误
--  作者:ayiken
--  发布时间:2017/3/14 18:19:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2222.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/3/14 20:12:00
--  
If e.Sender.Value IsNot Nothing Then
    Dim dt As DataTable
    Dim cmd1 As new SQLCommand
    cmd1.ConnectionName = "数据源"
    cmd1.CommandText = "Select [_Identify],姓名 ,性别 ,年龄 From 病人信息 Where 住院号 = " & e.Sender.Value 
    dt = cmd1.ExecuteReader()
    If dt.DataRows.Count > 0 Then
        e.Form.Controls("TextBox2").Value = dt.DataRows(0)("姓名")
        e.Form.Controls("TextBox3").Value = dt.DataRows(0)("性别")
        e.Form.Controls("TextBox4").Value = dt.DataRows(0)("年龄")
    End If
End If
[此贴子已经被作者于2017/3/14 20:12:39编辑过]

--  作者:ayiken
--  发布时间:2017/3/14 21:08:00
--  
谢谢,是重复了,对不起,上述代码保存时有出错
--  作者:ayiken
--  发布时间:2017/3/14 21:10:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2225.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/3/14 21:13:00
--  
错误提示窗口勾选“显示详细信息”就可以看到出错的事件,修改方法参考7楼