三层结构中嵌套结构怎样访问细表的数据(100分)

  • 主题发起人 主题发起人 zttiger
  • 开始时间 开始时间
Z

zttiger

Unregistered / Unconfirmed
GUEST, unregistred user!
三层结构嵌套结构(应用服务器上2个QUERY,1个Datasource,1个DataSetProvider;
客户端细表clientdataset通过DatesetField连接主CLientdataset那种),我希望每做一
条主表记录修改,就能在相应的细表的每条记录上做相应修改,请教如何访问细表的相
应记录呀!!100分奉上!
 
用TdatasetField.NestedDataSet即可搞定
 
具体怎么做呀,我一下子还试不出来
 
怎样从主表的ClientDataSet访问到细表的每个记录,每个字段,急急!!
 
怎样通过主表的ClientDataSet遍历访问到细表的每个记录,急急
 
MasterDataSet.First;
while not MasterDataSet.eof do
begin
with MasterDatasetDetailField.NestedDataSet do
//MasterDatasetDetailField为关联到细表的TdatasetField字段
begin
First;
while not Eof do
begin
//处理
......
Next;
end;
end;
MasterDataSet.Next;
end;
 
感谢河清,你的方法我下午在我的客户端上已经通过。
我现在是在应用服务器端的DataSetProvider的OnUpdateData事件里对提交记录进行遍历赋值,
大致也是用和你差不多的方法,(就是对传递进来的 DataSet: TClientDataSet进行遍历
赋值)。
但有个怪问题我却始终不明白,在类似你的例子的细表循环里,NEXT对记录的移动没有效果
(我已用显示当前记录字段值的方法证明,每次都是第一条记录)。
我访问细表记录的写法是
TDataSetField(Dataset.FieldByName(关联到细表的TdatasetField字段)).NestedDataSet
赐教!!!
 
我样做都是可以的。

var t:TDataset;
begin
t:=TDataSetField(Dataset.FieldByName(关联到细表的TdatasetField字段)).NestedDataSet;
while not t.eof do
begin
showmessage(t.fields[0].asstring);
t.next;
end;
end;
 
后退
顶部