以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]openQQ即时同步问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96054)

--  作者:viking
--  发布时间:2017/2/11 23:35:00
--  [求助]openQQ即时同步问题
数据:SQl服务器
客户端登陆后,根据要求加载datatable
用户操作界面,根据要求筛选数据

问题1:这种结构是不是正确的?
曾经尝试,每点击不同的界面,加载符合要求的数据(load后,会删除以前加载数据),但是出现问题:工作中好多数据都是相连接的,当执行个别命令时,由于数据在当前界面没有加载,导致错误,所以改为现在这种数据加载形式:
客户端登陆后,将所有需要用的数据全部加载,
客户端不同的界面中筛选符合要求的数据。
想问一下个位老师,这种形式是不是合理?那种方式好一点,或者其他的方式?

问题2:不同界面采取筛选方式后,openQQ即时同步出现问题,客户端与服务端通信没有问题,可以正确发送、接收信息,
1、修改数据,所有客户端和以前一样正常,没有问题!
2、删除行,客户端正常
3、新增行,出现问题!
个人理解测试结果:通信正常,当用户A新增数据行时,新增数据行应该已经加载到用户B客户端,但是因为界面采取的是筛选方式,用户B客户端并不会及时出现新增行数据,需要重新执行筛选命令,新增行才会出现在用户B的相应界面。
请各位老师给指点一下,谢谢!

问题3:服务端通信转发问题
当用户A修改、新增、删除、数据时,发送给服务端相应信息,服务端收到信息后转发给客户端,如果服务端转发信息的成员中有用户A时,新增行和删除行应该会报错,为了避免报错,当服务端转发信息给客户端时,将用户A(当前操作用户)在转发客户端的成员里删除,解决报错问题。
但是问题来了,当前情况下:界面显示数据执行的是筛选命令,用户A修改、新增行后不会体现在界面中,测试结果,只有重新加载数据后,才会出现,删除数据正常。
请问如果解决问题?


谢谢!


--  作者:有点色
--  发布时间:2017/2/12 10:34:00
--  

1、简单的做法,就是所有表都加载进来,数据你可以不加载,这样也不会影响多少速度。

 

2、新增行筛选的问题。方法一,你可以用主表,不要用副本表;方法二,你可以改一下筛选方式,比如原来写 "第一列 = \'AAA\'",你可以改成,先查出不等于AAA的行1、3、5,然后设置筛选条件为 "_Identify not in (1, 3, 5)"


--  作者:有点色
--  发布时间:2017/2/12 10:36:00
--  

 

3、用户A在自己的界面上修改,自然不用通知自己。这个不涉及openQQ通信的问题,你控制表的显示即可。参考2点


--  作者:viking
--  发布时间:2017/2/12 11:00:00
--  
表都加载了,数据没有加载,数据没有加载,在执行某些运算时,会报错!
什么找不到行之类的
[此贴子已经被作者于2017/2/12 11:00:36编辑过]

--  作者:有点色
--  发布时间:2017/2/12 11:23:00
--  
以下是引用viking在2017/2/12 11:00:00的发言:
表都加载了,数据没有加载,数据没有加载,在执行某些运算时,会报错!
什么找不到行之类的
[此贴子已经被作者于2017/2/12 11:00:36编辑过]

 

你需要运算的数据,要加载出来咯。你不加载表的话,就不报错?


--  作者:viking
--  发布时间:2017/2/13 15:48:00
--  
还是不太明白,跪求解答,谢谢
--  作者:有点色
--  发布时间:2017/2/13 15:51:00
--  

 那你就按照以前的,动态加载你需要的表的做法


--  作者:viking
--  发布时间:2017/2/13 15:54:00
--  
改成主表形式,可以即时显示新增行数据?


--  作者:有点色
--  发布时间:2017/2/13 17:00:00
--  
以下是引用viking在2017/2/13 15:54:00的发言:
改成主表形式,可以即时显示新增行数据?

 

如果直接绑定主表,筛选后,新增的数据,是会显示出来的。副本表就会把数据筛选掉。

 

如果用副本表。请用2楼的方法筛选数据。