经典问题:三层结构ado少量多次取数据到客户端(up者有分) (300分)

  • 主题发起人 主题发起人 micro73
  • 开始时间 开始时间
你好,我知道你的意思。我后来说的可能有点跑题,Sorry。
在程序中,如果每一次 ClientDataSet 重新 Close, 再 Open ,执行的次序是:
AfterGetRecord,AfterOpen;
但是在 Open 以后,在调用 GetNextPacket,它是不触发事件 AfterOpen 的,
只触发 AfterGetRecord (这点你可以通过设置断点得到)。
所以你的代码可以改一下:
在 AfterGetRecord 事件中,加入:if ClientDataSet1.Active= False then Exit;
因为,在你程序刚启动时,调用了 ClientDataSet1.Active := True,它触发
AfterGetRecord,此时 Active := False;(你可以测试得到)。
可以将 AfterOpen 事件中的代码去掉。

 
可惜这几天没空,否则就可以测试一下,随便捞点分 [:(]
 
to AsStone:
你说的完全正确,谢谢你。不过我还有个小问题,那就是程序还没有正确定位,不过我
相信我能解决。实在搞不定再向你请教。
to all:
这300分中的200分给AsStone,其余的大家分了吧。
发分啦。。。。
 
接受答案了。
 
后退
顶部