以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同终端的数据同步  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189283)

--  作者:lesei
--  发布时间:2023/11/21 22:24:00
--  不同终端的数据同步
甲乙两台电脑都安装了终端,数据库在服务器的公共文件夹里。
我发现,甲改完了数据,并不能在乙电脑里实时弹出更新的数据。

1.帮助里说openqq能解决数据同步到问题,但是我感觉有点远水不解近渴。
2.解决乙的同步问题,好像是得:乙手动触发表格的load命令,重新加载数据,才能显示出新增加的数据。

问题1:
比如三四个人用,大家都改数据,每个人也不可能老是手动点load来更新终端数据啊(总有忘记的时候)?有别的解法吗?
问题2:
我想用计划任务,每2秒钟就把所有的表load一遍(不保存,就load),所有的终端都如此。可行吗?为什么?
问题3:
比如甲保存了变更的数据,乙对数据的改动进行到了一半,触发了load命令(比如是自动触发),此时后台最新的表格数据会被加载,那么乙已经做出的一半改动会继续留存在表格里吗?还是说,一load,表格里已经录入了一半的数据就都丢失了?背后的原理是什么?
[此贴子已经被作者于2023/11/21 23:04:30编辑过]

--  作者:有点蓝
--  发布时间:2023/11/21 23:07:00
--  
没有别的方法。另外大多数软件都不会强制提供这种自动刷新的功能,比较用户正在编辑的时候突然数据刷新了可能会觉得莫名其妙,甚至会有冲突

其次用户可以忘记,但是如果需要开发者完全可以考虑到这种情况,可以在很多认为需要的地方提供刷新的功能,比如

1、在切换表事件写好代码,切换到某个表前先刷新数据
2、在点击某行的时候,在事件使用代码刷新这行数据
3、使用计时器,定时刷新数据
4、打开窗口的时候,使用代码刷新数据
5、......任何需要的时候都可以调用代码刷新

但是我个人的建议还是让用户自行刷新,或者确实需要新数据可以在使用某个功能、打开某个窗口之前写代码刷新一下,毕竟数据永远都不可能保证都是最新的,就算这一秒刷新了,下一毫秒都有可能有人保存了数据。

特别是以后数据量多了之后,应该是怎么一种操作
1、平时数据只加载最新一个月的数据,甚至不加载。毕竟数据多比如有一千万行都加载出来是不合理的。
2、提供查询窗口,然后用户选择条件后加载符合条件的数据,也就是用户必须查询了才能看到需要的数据,就不会忘记了

--  作者:有点蓝
--  发布时间:2023/11/21 23:19:00
--  
问题2:
非常不建议使用定时刷新这种用法。可能会导致正在编辑的数据丢失,甚至错位。其次一两个表还好,表多数据多的话,可能全部加载一遍要几十秒.....
问题3:
可能会导致正在编辑的数据丢失,甚至错位。