以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请给检查下哪里的错误,脑袋有点木了!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95538)

--  作者:viking
--  发布时间:2017/1/22 22:40:00
--  [求助]请给检查下哪里的错误,脑袋有点木了!

DataColChanged事件


Select Case e.DataCol.Name
    Case "收入","支出"
        Dim ddbh As String = e.DataRow("订单编号")
        Dim sr As Double
        Dim zc As Double
        Dim ye As Double
        sr = e.DataTable.SQLCompute("sum(收入)","[订单编号] = \'" & ddbh & "\'")
        zc = e.DataTable.SQLCompute("sum(支出)","[订单编号] = \'" & ddbh & "\'")
        ye = sr - zc
        Dim ddlr As DataRow = DataTables("订单").Find("[订单编号] = \'" & ddbh & "\'")
        ddlr("利润") = ye
        ddlr.Load()
End Select

挺平常的代码,有的时候出现
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:表,订单明细, DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。


怎么回事??
[此贴子已经被作者于2017/1/22 22:39:58编辑过]

--  作者:viking
--  发布时间:2017/1/22 22:41:00
--  
不存在找不到订单表符合要求的行的可能性,子父表关系
--  作者:lihe60
--  发布时间:2017/1/22 22:58:00
--  
加个判断
if ddlr isnot nothing

--  作者:viking
--  发布时间:2017/1/22 23:10:00
--  
好像是订单表没有加载造成的???
--  作者:viking
--  发布时间:2017/1/22 23:14:00
--  
加个判断可以解决报错问题,但是没有解决应用问题,
sql 服务器
修改该表时,订单表没有加载,怎么解决啊?

--  作者:有点色
--  发布时间:2017/1/22 23:25:00
--  
Select Case e.DataCol.Name
    Case "收入","支出"
        Dim ddbh As String = e.DataRow("订单编号")
        Dim sr As Double
        Dim zc As Double
        Dim ye As Double
        sr = e.DataTable.SQLCompute("sum(收入)","[订单编号] = \'" & ddbh & "\'")
        zc = e.DataTable.SQLCompute("sum(支出)","[订单编号] = \'" & ddbh & "\'")
        ye = sr - zc

        Dim ddlr As DataRow = DataTables("订单").Find("[订单编号] = \'" & ddbh & "\'")

        If ddlr IsNot Nothing Then ddlr = DataTables("订单").SqlFind("[订单编号] = \'" & ddbh & "\'")

        ddlr("利润") = ye
        ddlr.Save
End Select