FDQuery에서 FDDataset을 반환해야하지만 결과 또는 다른 FDDataset에 데이터 집합을 복사 할 수 없습니다. 내가 오류가FDDataSet을 복사하여 Delphi의 함수에서 반환
function getFix(id: Integer): TFDDataSet;
begin
FDQuery.SQL.Clear;
FDQuery.SQL.ADD('SELECT ....');
...
FDQuery.SQL.Open;
Result.CreateDataSet;
Result.CopyDataSet(FDQuery.Fields.DataSet);
end;
: "액세스 위반 ...."다른 장치에서
procedure TForm1.Button1Click(Sender: TObject);
var: Fix: TFDDataSet;
begin
Fix.CreateDataSet;
Fix.CopyDataSet(getFix(1));
end;
과 기능 : 이 내 주요 코드입니다.
다른 TFDDataSet에 FDQuery 결과를 복사하려면 어떻게해야합니까? 또는 TClientDataSet을 사용해야합니까? FireDac과 TClientDataSet가 같은가?
내가 그런 시도하고 "추상 오류"를 가지고 여기 http://stackoverflow.com/a/18669138/2980912 찾고 있었다 않았다, 그래서 어쩌면 내가 할 수 없습니다 이 TFDDataSet을 사용 하시겠습니까? 아니면 그건 중요하지 않니? – Gem
코드를 단계별 실행하면 어떤 줄에서 추상 오류가 발생합니까? –
CreateDataSet 및 CopyDataSet 오류가 발생합니다 ... 그 함수 외부에서 FDQuery 결과를 전달하고 값을 구문 분석하려고했습니다. 나는 레코드 (Record of Record)를 만들어서 만들었지 만, 이것이 정렬과 물건 때문에 더 좋은 방법이라고 들었습니다. 아마도 그럴 수있는 다른 방법일까요? 그 함수를 호출하고, sql을 쿼리하고, 결과를 다른 함수의 함수 밖에서 읽도록 결과를 얻으시겠습니까? 어쩌면 FDMemTable 또는 ClientDataSet입니까? – Gem