在三层结构中使用嵌套表的问题(200分)

  • 主题发起人 主题发起人 ouke
  • 开始时间 开始时间
O

ouke

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi5在中间层用两个Tquery建立master/detail
关系,在应用层的TclientDataSet.建立了嵌套表。
当我在form中open了TClientDataSet.但我此时是希望浏览主表的信息。
当然可以在Tprovider中的opion设只从应用层传了主表信息,但应用层
此时已经把从表信息取出,这是我不希望的,因为这也很耗时间,如果
不用嵌套表,我可以解决这个问题,但我又想用嵌套表中的自动更新主
从关键字,以及在客户端,只要applyUpade主表的功能。有没好办法解决这个问题?
用ClientDataSet的FetchOnDemand和Provider的Options.poFetchDetialOnDemand只能解决从应用层到客户端的问题。
但从应用层到数据库端的问题如何解决?
 
我出一个笨办法,
用两套表,一种主细表,但不开,另一种是浏览表,只开主表。
更编辑与新时使用主细表,更新完了就关掉,平时用主表浏览。
我这样用过,也麻烦。也不知道更好的方法。我是因为细表不
止一个,还有很多Blob,所以也是因为浏览中慢而大费心机。
 
我也想知道方法@︿@
 
很失望呀
 
附加功能 将问题提前
 
嘻嘻, client端当然只要ApplyUpdates啦(不管多复杂的情况), 具体处理可以在server端
的provider的相关事件中进行(TDatasetProvider.OnUpdateRecord). 只要你将Applied
返回True, 你可以在其中进行任意复杂的操作(哪怕你另外通过100个Query来Update
Client传来的一条记录也没关系).
 
建议你买本李维写的《多层分布式程序设计——系统篇》看看,里面写得很清楚,
而且有例子,真是受益非浅。
 
多人接受答案了。
 
后退
顶部