Foxtable(狐表)用户栏目专家坐堂 → [求助]多用户下,窗口控件绑定的数据同步问题?


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

主题:[求助]多用户下,窗口控件绑定的数据同步问题?

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/1 23:17:00 [显示全部帖子]

4楼的用法仅适合单机。

首先用户a的修改价格后需要保存,然后用户b需要重新加载产品表数据。数据刷新后4楼才有效,简单的先加载一下数据
……
'换行时,同客户列同步:
DataTables("产品表").Load
Tables("产品表").filter = ""
Dim i = Tables("产品表").FindRow("客户 = '" & e.Table.current("客户") & "'")

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 15:33:00 [显示全部帖子]

只加载这行数据

Tables("产品表").filter = ""
Dim i = Tables("产品表").FindRow("客户 = '" & e.Table.current("客户") & "'")
if i=-1 then
dataTables("产品表").appendend("客户 = '" & e.Table.current("客户") & "'")
end if
i = Tables("产品表").FindRow("客户 = '" & e.Table.current("客户") & "'")
If i>=0 Then
    Tables("产品表").position = i
Else
    Tables("产品表").filter = "1=2"
End If

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 15:59:00 [显示全部帖子]

dataTables("产品表").appendload("客户 = '" & e.Table.current("客户") & "'")

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 16:50:00 [显示全部帖子]

请上传实例测试

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 23:11:00 [显示全部帖子]

没有数据库,无法测试

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/3 8:51:00 [显示全部帖子]

刷新按钮RaiseDataColChanged会触发datacolchanged事件,导致所有行数据都被更改了。然后DataTables("客户表").Load会先保存才加载,保存会触发BeforeSaveDataRow事件,这个事件会每个修改的行都调用SQLCommand保存数据,这个肯定慢了。如果做了独占式编辑,不适合调用RaiseDataColChanged,更新所有行数据,效率低不说,并发还有可能导致数据库死锁。

这种只能从业务逻辑上进行优化,我不懂您的业务,没有什么好建议。

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


加好友 发短信
等级:超级版主 帖子:113216 积分:576509 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/3 10:23:00 [显示全部帖子]

只要做了独占式编辑,不适合调用RaiseDataColChanged。

 回到顶部