十万火急!急急急!Delphi中Table的onUpdateRecord 事件到底是什么回事?(200分)

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

Beauty

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,Table的CachedUpdate属性设为true,有需要处理
在缓冲区的数据时,则有需要触发Table的onUpdateRecord 事件,
但在执行Table.ApplyUpdate语句却出现‘Table is read only’
的错误;没有触发该事件就没问题,百般思索却不得其解,请各位
高手多多指点!
 
Table1的Readonly属性设为false了吗?
 
好像我没有问题吗?
 
不要在OnUpdateRecord中Apply
 
不会吧?能把情况说清来楚一点。
 
该事件中先将table关闭再打开,试试。不过好象真的没你那么用的。
 
我觉的你的ReadOnly设为True了,或你读的表(如果是DBF)是只读的
 
Beauty:
在OnUpdateRecord事件中,Delphi 将 UpdateAction设为 uaFail;
于是就出现了‘Table is read only’的错误;
你必须在处理完数据后将 UpdateAction 设为 uaApplied 才对.
例如:
procedure TForm1.Query1UpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
UpDateSQL1.Apply(UpdateKind);
Query2.ApplyUpdates;
UpdateAction:=uaApplied;
end;
 
接受答案了.
 
后退
顶部