错误异常类EFDException,带消息' [FireDAC] [Comp] [Clnt] -303。功能不受支持'

时间:2017-07-05 04:20:03

标签: delphi firedac

使用FireDac时,我在调用CloneCursor时出错。

procedure TFDDataSet.CloneCursor(ASource: TFDDataSet; AReset,
  AKeepSettings: Boolean);
begin
 ...
    ASource.FetchAll; //<- exception raise here
...
end;

这是我称之为CloneCursor

的功能
procedure TTestDM.tblCt11AfterPost(DataSet: TDataSet);
var
  tblCt11Tmp: TFDMemTable;
begin
  ...
  tblCt11Tmp := TFDMemTable.Create(self);
  try
    tblCt11Tmp.CloneCursor(DataSet as TFDDataSet, False, True);
    ...
  finally
    tblCt11Tmp.Free;
  end;

如果我在GUI上编辑ct11的每一行并移动到ct11的另一行,则程序tblCt11AfterPost工作正常。

但我扫描ct11,编辑它并发布ct11,程序tblCt11AfterPost将在CloneCursor中引发错误

 if tblCt11.Locate('stt_rec', tblPh11stt_rec.Value, []) then
      repeat
        if not (tblCt11.State in [dsEdit, dsInsert]) then
          tblCt11.Edit;

           //edit tblCt11 here

          tblCt11.Post;
      until not tblCt11.LocateEx('stt_rec', tblPh11stt_rec.Value, [lxoFromCurrent]);

请帮帮我。

非常感谢。

0 个答案:

没有答案