Foxtable(狐表)用户栏目专家坐堂 → 触发求助


  共有2785人关注过本帖树形打印复制链接

主题:触发求助

帅哥哟,离线,有人找我吗?
supwork
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
触发求助  发帖心情 Post By:2015/8/7 16:34:00 [显示全部帖子]

 

DataColChanged    事件代码

 

Case "产品编码"       
        e.DataRow.Locked = False
        Dim pr As DataRow = e.DataRow.GetParentRow("出入记录_主表")
        Dim cmd1 As New SQLCommand
        cmd1.ConnectionName= gs_strActiveConn
        cmd1.CommandText="sel ect [库存] from {V_仓库物料库存} where  [审核] = 1 and [仓库编码] = '" & pr("仓库编码") & "' and [产品编码] = '" & e.DataRow("产品编码") & "'"
        Dim dt1 As DataTable = cmd1.ExecuteReader
        If dt1.DataRows.Count>0 Then
            e.DataRow("当前库存")= dt1.DataRows(0)("库存")
        Else
            e.DataRow("当前库存")= 0
        End If

 

触发代码

 

For i As Integer=0 To Tables("出入记录_主表.出入记录_明细表").rows.Count-1
DataTables("出入记录_明细表").datacols("产品编码").RaiseDataColChanged()
Next

 

为什么明细 表里只有三条数据

监测到 该系列行为对数据库中的所有数据均进行了操作。 我只要重算明细 表里的产品的库存数据就好。


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/7 16:49:00 [显示全部帖子]

谢谢 这样效果好多了,没有遍历数据库中的所有数据了

但观察到如果明细表中有3条数据的话 DataColChanged  被执行了9次,如果4条记录的话,被执行了16次,就是被执行了明细表数据行数N的平方次数。

 

本意只要执行 N次了。


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/7 17:01:00 [显示全部帖子]

正解

 回到顶部