三层救命题(200分)

  • 主题发起人 主题发起人 goldstone
  • 开始时间 开始时间
不是有个叫什么autorefresh的东东吗?
返回的速度很快,Delphi内部已经做了优化,性能方面应该没问题的。
 
请问wlmmlw,autorefresh在哪里,没有用过
 
poautorefresh=true也是没有用的,难道非得在clientdataset.refresh,这样的话不是把所有的东西全部再回传回来
感觉不好,大家有没有好办法
 
autorefresh也是Provider的Option之一。
另:把BeforeUpdateRecord中的:
deltaDs.FieldByName('id').Value :=11111;
改为
deltaDs.FieldByName('id').NewValue :=11111;
就行了。
 
大家继续帮忙
 
procedure TagentserverRDM.dspGetXingyeAfterUpdateRecord(Sender: TObject;
SourceDS: TDataSet;
DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind);
begin
if UpdateKind =Ukinsert then
begin
deltaDs.Edit;
deltaDs.FieldByName('Postdate').newValue :=spxingyeinsert.Parameters.parambyname('@postdate').value;
deltaDs.FieldByName('id').newValue :=spxingyeinsert.Parameters.parambyname('@return_value').value;
deltaDs.post;
end;
end;

spxingyeinsert.Parameters.parambyname('@return_value').value;
是返回自增id的值,现在想把它deltaDs.FieldByName('id').newValue :=spxingyeinsert.Parameters.parambyname('@return_value').value;
碰到的问题是deltaDs.FieldByName('id').newValue 是无法修改的,这是显然的,有没有什么办法修改id的属性,让他既是自增型,在这时候也可以修改,拜托大家了
 
procedure TagentserverRDM.dspGetXingyeAfterUpdateRecord(Sender: TObject;
SourceDS: TDataSet;
DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind);
begin
if UpdateKind =Ukinsert then
begin
deltaDs.Edit;
deltaDs.FieldByName('Postdate').newValue :=spxingyeinsert.Parameters.parambyname('@postdate').value;
deltaDs.FieldByName('id').readonly:=false;
deltaDs.FieldByName('id').
deltaDs.FieldByName('id').newValue :=spxingyeinsert.Parameters.parambyname('@return_value').value;
deltaDs.Post;
end;

end;
无法将deltaDs.FieldByName('id').readonly:=false;这句话post,如果不post可以,大家帮忙想办法
 
多人接受答案了。
 
解决了?
用 deltaDs.FieldByName('id').newValue 不用EDIT 和 POST。
 
给你加分了,谢谢!
 
后退
顶部