三层中,我怎样在中间层获得客户端改变的从表的数据呢??谢谢(70分)

  • 主题发起人 主题发起人 blackfiles
  • 开始时间 开始时间
B

blackfiles

Unregistered / Unconfirmed
GUEST, unregistred user!
中间层是以巢状表数据传给客户端获得的,由于某种原因,客户端只能改动从表的数据
然后提交,那我怎样在中间层单纯的获得从表改变的数据??
试过在中间层的DataSetProviderUpdateData()事件里,
TempCDS.Data=DateSet.Data //Delta;
显示出来的是以主表中的数据(包含有从表名)
应该怎样获得呢??谢谢。
 
高手啊,请帮忙啊!
 
ClientDataSet.Delta Delta是只读属性!不可以写的。
改变数据?反正是从TDataSet继承下来的,和操作TTable一样试试?
 
同意楼上
 
To zxtko:
我知道Delta是只读的啊。我的意思不是要改变它啊,
我想获得显示Delta,请看清楚我的题目哦。
 
从表对主表来说是一个字段,你判断每个字段是否改变!
 
To success_mtc,
我现在希望从这个字段中获得从表的记录。怎样做呢??
 
中间层用两个QUERY ,一个datasource,建立一个主从关系(两个query都要写sql),
客户端你用ClientDataSet连接主表对应的DSP,再用一个ClientDataSet连接主表的ClientDataSet,
联从表的读主ClientDataSet的Datasetfield,就取出数据了么,
老兄,不会不行吧,我用了很多次的。
 
To success_mtc:
你说的这个我知道啊。这是在客户端获得主从数据啊。
我现在是想当我在客户端改变从表数据后,Applyupdate后,在中间层获得从客户端
传递过来的从表的具体数据啊。
因为以巢状表数据结构,你在中间层的DSP接收的依然是以主表字段的数据,从表以
字段方式含在主表中,我现在想提取从表的具体数据啊。
 
你好好看一下中间层DataSetProvider的BeforeUpdateRecord事件,在那里可以控制哪些记录
可以更新到数据库中,而且有一点注意:即使是巢状数据,在BeforeUpdateRecord事件中子表
和主表的记录是平等的,也就是说,在这个事件中从表不是主表的一个字段。
 
同意楼上兄弟!
补充一点:delta是只读的,但如果清楚vcl,可以修改其属性值!
 
服务端动态生成一个clientdataset,设定参数,接受客户端传来的数据。
 
在BeforeUpdateRecord中你可以获得从表的Query的表名。然后就可以得到他的数据了。
 
哦。差不多知道了。谢谢
To gzfrank
怎么获得从表的Query的表名。然后就可以得到他的数据了??
 

Similar threads

后退
顶部