向各位请教一个COM+环境下的主从表更新问题,还望赐教。 |
缺席
|
lssoft2004
一般會員 發表:4 回覆:3 積分:1 註冊:2004-03-08 發送簡訊給我 |
我在COM 组件中利用两个TAdoQuery构造了一个主从关系,并通过一个TDataSetProvider和一个TClientDataSet使用接口方法向客户端提供数据:
如:
procedure GetMDData2(var VData: OleVariant);
begin
try
CDSmaster.Active:=False;
VData:=CDSmaster.Data;
SetComplete;
except
SetAbort;
end;
end;
在客户端使用一个TClientDataSet和一个二级TClientDataSet(使用TDataSetField字段)接收数据,能够正确的运行.
如:
begin
ClientDataSet2.DataSetField:='Adoqry1';//使用了TDataSetField字段
ClientDataSet1.Data:=Fmts.GetData;//由COM 组件返回数据
end; 但是在更新时出现了问题:
用于更新的TDataSetProvider作了如下设置
ResolveToDataSet = True
Options = [poFetchBlobsOnDemand, poCascadeDeletes, poCascadeUpdates, poAllowMultiRecordUpdates, poAllowCommandText, poRetainServerOrder]
更新用的接口方法如:
procedure UpdateDataMD2(VData: OleVariant);
begin
try
CDSmaster.Active:=True;
CDSmaster.Data:=VData;
CDSmaster.ApplyUpdates(-1);
SetComplete;
except
SetAbort;
end;
end; 1.只能更新主表 2。从表总是不能被更新 3.当从表数据有修改等时,主表的更新不被存盘.
请各位帮助看看,在此先谢各位了!!!!
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
JustinShen
中階會員 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
请各位大大帮帮忙吧,
对于NestDataSet的数据获取和更新我知道在borland网站上有可以参照的
http://bdn.borland.com/article/0,1410,20847,00.html看看吧。 Justin Shen
------
==================== 我为一切作努力! Justin Shen |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |