以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  前后端数据同步问题请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175858)

--  作者:chinaabs
--  发布时间:2022/3/22 10:09:00
--  前后端数据同步问题请教
请教老师:
我用的是Clint+sqlserver,用于订单录入,审批,一以及其它相关业务(发货,生产等)。
大约10个人左右,经常会有同一时间一起操作的情况。
现在碰到一个问题,C端数据会因为各种原因和服务器数据不同步,一些功能是根据本地的数据生成,如报表,状态判断等,这些数据不一致导致各种错乱。
做过以下尝试:
  1. openqq实时同步。会因为网络原因,openqq离线导致数据未同步更新。
  2. 将需要做判断的数据都在服务器上sql查询,这样的话好像编程工作量比较大,如 判断是否审核,原先只要 isnull就行,现在需要做一个sqlcommander。
  3. 在currentchange里面,做同步刷新父子表数据和其它相关数据。有一个问题是在removefor相关数据后,其它table里面的数据也会被移除,appendload之后需要重新筛选才有。有些业务切换时候会显得很奇怪。如:新增一个产品,然后添加到订单明细中。后面触发到了订单表的currentchanged时候,回到产品表原先的产品就没了,需要重新筛选才有。实际中会涉及多个这样的数据,需要不断刷新。
也听说过在startedit里面加入是否更新的判断,好像这样只对需要编辑的情况有效。
由于没有其它项目开发经验,
想请教下:
1  优先级问题,是偏向本地优先(以本地为主,将服务器数据尽量同步到本地)还是服务器优先(逻辑判断等都以后台数据为准,比如find之类方法都用sql查询替代)?
2 一般有哪些思路(事件?方法等),用于前后端的数据同步?



--  作者:有点蓝
--  发布时间:2022/3/22 10:23:00
--  
这种情况肯定都是服务器优先。

数据不同步的原因都有哪些?

--  作者:chinaabs
--  发布时间:2022/3/22 10:37:00
--  
好的,谢谢蓝版,后面以后台数据为主。
这样好像很多问题都不存在了,以前很多是根据client数据判断导致的,我先改进下,后续有相关问题再来添加。
暂时不同步主要是:openqq会掉线,或者反应不过来。
如果以后台数据为主的话,偶尔掉线问题也不是很大。