两个数据窗口的数据进行比较的方案

wsygt 2010-09-24 02:01:10
我建了一个数据窗口 定时20秒钟刷新一次(retrieve)我想知道在每次刷新(retrieve)前后数据是否有变动 。行数变化好判断
如果某一列变化我贼么判断。我这么做目的是当软件最小化时,如果数据刷新(retrieve)后有变动 最小化图标会闪烁。操作者就知道有新信息要处理。如果在刷新(retrieve)前后通过代码比较对主键一样进行比较 浪费效率 有没有更好的方法
...全文
289 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxddlon 2011-02-10
  • 打赏
  • 举报
回复
数据量多的话刷新一次(retrieve)还是比较慢的,最好是数据修改后发出通知
四大名捕0108 2011-02-10
  • 打赏
  • 举报
回复
9楼回复很全面啊
lenya 2010-12-18
  • 打赏
  • 举报
回复
9楼,10楼的做法都OK.
zjxsw 2010-12-15
  • 打赏
  • 举报
回复
Object.DataWindow.Data = Object.DataWindow.Data

刷新前后,各取一次比较不是对了嘛,简单明了。
money109 2010-09-30
  • 打赏
  • 举报
回复
sharedata
pb8 2010-09-29
  • 打赏
  • 举报
回复
getfullstate函数判断检索前后的blob是否相等就知道了~~
gui41021 2010-09-25
  • 打赏
  • 举报
回复
加个标志位 新进来的数据是 0 被用户点过的是 1

监测有没有标志是 0 的 就知道有没有新数据了
wag_enu 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wsygt 的回复:]
dw.object.data = datastore.object.data 不能比较属于数组类型
[/Quote]

你写的代码取的是数组, 而object.datawindow.syntax.data 取到的是以 ~T 分隔的字符串。。。
184270428 2010-09-25
  • 打赏
  • 举报
回复
一,客户端主动扫描
1,建一个通知模型表
2,在需要跟踪的表中的触发器修护1中的表
3, 客户端扫描该表,若达到条件通知窗口处理

二, 服务端通知客户端
1,写一个socket服务
2,建一个通知模型表
3,在需要跟踪的表中的触发器修护1中的表
4,通知模型表的触发器和socket服务勾通
5,如果客户端连上,直接通知客户端(每个连接线程,都有一个通知数据指针,通知时把数据发给客户端)
6,客户端主动连接socket,返回没有处理的通知数据,处理完毕后,和客户端保持连接(甚至可以搞个心跳包,告诉服务端,这个连接还活着。)
jacksu19 2010-09-25
  • 打赏
  • 举报
回复
可能的话,应避免定时刷新的这种方法。

而是应该选择由服务器方保持一个状态,如果数据改变了,服务器更新这个状态值。并向客户端发送一个消息(当然,如果不方便发送消息的话,客户端定时去取,查看这个状态值)

查看状态值,发现该状态值被置为有新数据时,再去做retrieved...

去一个状态值对网络的影响肯定比无论数据有没有改变,都去取回完整的数据效率更高。
agx2003 2010-09-25
  • 打赏
  • 举报
回复
出个损招。
既然你的窗口只是刷新数据,那么就一定有其他地方在修改数据。
每次刷新之前,把你的数据窗口upate一次,如果出现rowchanged between retrieve and update ,则说明刷新之后会有数据变化。
new4everlau 2010-09-25
  • 打赏
  • 举报
回复
价格timestamp字段,比较
ElayRain 2010-09-24
  • 打赏
  • 举报
回复
可以比较数据的长度
lightsword1 2010-09-24
  • 打赏
  • 举报
回复
通过数据共享建立一个共享表,
retrieve后,再对两个表相应字段进行比较
Brradish 2010-09-24
  • 打赏
  • 举报
回复
....我也是用代码比较的...没发现什么更好的办法...
wsygt 2010-09-24
  • 打赏
  • 举报
回复
dw.object.data = datastore.object.data 不能比较属于数组类型
wag_enu 2010-09-24
  • 打赏
  • 举报
回复
非要这么做,可以考虑建一个Datastore
主DW retrieve 前,把数据复制到 datastore
retrieve 后,比较DW 和datastore 的 object.datawindow.syntax.data

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧