ADO更新问题。(在线等待)(100分)

  • 主题发起人 主题发起人 itwong
  • 开始时间 开始时间
I

itwong

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如下,请高手解决。
我用MIDAS开发C/S软件,在更新数据回数据库时有问题。
SERVER
adodataset1;datasource1;DataSetProvider1;adodataset2
adodataset2.datasource:=datasource1;
datasource1.dataset:=adodataset1;
DataSetProvider1.dataset:=adodataset1;
且adodataset1(主表)与adodataset2(从表)是以billid字段关联的。即
adodataset2.masterfield:=billid;
adodataset2.indexfieldnames:=billid;
CLIENT
我在CLIENT中新增是无问题的,但是进行编辑就出现以下问题:
1、单纯对从表(网格)进行编辑,数据不能更新进数据库中。(CLIENT无报错)
2、若在编辑时,对主表也进行修改。则主从表的数据均能更新进数据库中。
请问这题什么原因?
 
原因不知道.
不過主明檔我是用sql語句查詢的,
沒有用主明細檔關連.
 
to:jeary
因为这样关联能使我写少很多关于SQL的代码。
 
但是這樣很費資源.
 
to:jeary
不会啊!我用SQL控制主表就可以了。
 
你可以在ReconcileError事件里察看发生什么错,
 
to:Agangor
看了,没有出错!
 
你修改主资料能不能存盘?
你把server端的DataSetProvider的
UpdateMode改为upWhereKeyOnly
把主从表的主栏位的ProviderFlags加上
pfInkey,
在不行的话,把DataSetProvider的ResolveToDataSet
设为True
 
to:Agangor
还是不行。
 
你在客户端编辑时有没有Post,
在提交前你最好用CheckBrowseMode检查一下
 
to:Agangor
有post。况且,我用的中ehlib的grid,它本身就可自动post。
怎样CheckBrowseMode?请指教!
 
在ApplyUpdate前用
主ClentDateSet.CheckBrowseMode;
从ClentDateSet.CheckBrowseMode;
if 主ClentDateSet.ChangeCount>0 then
主ClentDateSet.ApplyUpdate(0);
你跟踪一下看ChangeCount是否大于0
 
to:Agangor
已加入上述代码。而且,证明 从ClientDataSer.ChangeCount>0,但是问题仍然存在。
 
后退
顶部