三层结构下该不该使用嵌套表(100分)

O

ouke

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi5在中间层用两个Tquery建立master/detail
关系,在应用层的TclientDataSet.建立了嵌套表。
当我在form中open了TClientDataSet.但我此时是希望浏览主表的信息。
当然可以在Tprovider中的opion设只从应用层传了主表信息,但应用层的Tquery
此时已经把从表信息取出,这是我不希望的,因为这也很耗时间,如果
不用嵌套表,我可以解决这个问题,但我又想用嵌套表中的自动更新主
从关键字,以及在客户端,只要applyUpade主表的功能。有没好办法解决这个问题?
用ClientDataSet的FetchOnDemand和Provider的Options.poFetchDetialOnDemand只能解决从应用层到客户端的问题。
但从应用层到数据库端的问题如何解决?

 
在 app_server 中写查询函数 分别对 主从表 查询
对从表提供外键的参数
 
能不能具体讲一下呢?
 
在 .TLB 中 添 method
将你的SQL语句写好
定义好查询条件的参数,即可
 
这个问题比较麻烦,你可以在CLIENT端建立组从关系,这样就可以减少
服务器取数据的量,但是在applyupdates时需要两个clientdataset
分别调用applyupdates,这样,它们递交数据时不在同一个Transaction
中,这样无法保证数据的完整性。
d5dg中dan miser 写了一个解决的方法,差不多有几百行代码,你去看一下
就知道怎么办了.
 
to lighthong:
请问d5dg 中dan miser是一本书,还是一个网页,还是D5的范例?
 
应在客户端建立Master/Detail关系
下面选自Delphi Help
In addition, you can set up master/detail relationships in client datasets using nested tables. You cando
this in one of two ways:
Obtain records that contain nested details from a provider component. When a provider component represents the master table of a master/detail relationship, it automatically creates a nested dataset field to represent the details for each record.
Define nested details using the Fields Editor. At design time, right click the client dataset and choose Fields Editor. Add a new persistent field to your client dataset by right-clicking and choosing Add Fields. Define your new field with type DataSet Field. In the Fields Editor, define the structure of your detail table.
 
我在DELPHI 4时可以在CLIENT建立MASTER/DETAIL但是在
DELPHI 5 UPDATE 1 不能在CLIENT建立MASTER/DETAIL,会出错
有人建立过吗?
 
to:eek:uke
dan miser你老不知道吗?
他是MIDAS的高手,《Delphi 5 Developer's guide》的
第32章 Midas Development就是他写的。
棒极了
 
to lignthong:
哇,我可是到处在找这本书呀,大陆已经有人翻译了吗?那里有买的吗?我差点
想从亚马逊买一本了。你老要是有这本书,能不能把相关代码发给我呀!谢谢你啦
ouke@263.net
 
该不该给分了?
 
如果只需要浏览主表而不需要编辑,是不是可以在appsrv中再建一TQuery,Clent端
建TclientDataset和Datasource,浏览时动态切换?
 
我是设两个页,一个叫浏览一个叫编辑,编辑页是详细的有主细表的
可以当他找到一个主表记录后一般会点编辑页看详细记录,这样又要打开嵌套表
发一大堆sql语句了
 
用DELPHI5吧。
 
刚完成的项目就是这样用的,没问题啊
 
NUKE:翻译了,不过恶贵每本175,共两本
另:李为的那两本MIDAS书哪里有DOWN?上海没的卖!!!
 
听说机械工业出版社有出版
 
to cj,你知道那里有买吗?(上海)你说的是那个出版社出版的
 
东方激光书店有,(福州路那个小花园的转弯进去),我舍不得啊
 
顶部