Delphi XE2 - TIBOQuery计算字段必须是最后一个顺序吗?

时间:2017-09-28 02:22:29

标签: delphi delphi-xe2

我正在使用TIBOQuery," file_full_path"是一个计算字段。 首先,我打开查询以从数据库中获取数据

with qryFiles do
begin
  Close;
  ParamByName('id_dre').Value := Self.qryListID_DRE.AsString;
  ParamByName('id_use').Value := rUser.ID_USE;
  Open;
end;

然后我将qrery数据加载到名为memFiles的TdxMemData中:

memFiles.Close;
memFiles.LoadFromDataSet(qryFiles);
memFiles.Open;

我展示了" file_full_path"的价值。字段:

ShowMessage(memFiles.FieldByName('file_full_path').Value);

查询的OnCalcFields中的代码:

procedure TfrmDocsGoodRegisterDetail.qryFilesCalcFields(DataSet: TDataSet); 
begin 
  DataSet.FieldByName('file_full_path').Value := WideLowerCase(ExtractFileDir(rSys.PathSDK)
                                                + '\' + DataSet.FieldByName('id_dre').AsString
                                                + '\' + DataSet.FieldByName('id_dfo').AsString
                                                + '\' + DataSet.FieldByName('file_name').AsString); 
end;

问题是当我把" file_full_path"在qrery字段顺序的最后,它工作正常。 enter image description here

但是当我将该字段更改为任何其他位置(不在底部)时,它会在ShowMessage代码行返回null。

enter image description here

有谁知道为什么?请帮忙,谢谢。

0 个答案:

没有答案