0
我有函數應該從FDQuery返回FDDataset,但我不能將數據集複製到Result或另一個FDDataset。 這是我的主要代碼:從Delphi中的函數複製並返回FDDataSet
procedure TForm1.Button1Click(Sender: TObject);
var: Fix: TFDDataSet;
begin
Fix.CreateDataSet;
Fix.CopyDataSet(getFix(1));
end;
和功能在其他單位:
function getFix(id: Integer): TFDDataSet;
begin
FDQuery.SQL.Clear;
FDQuery.SQL.ADD('SELECT ....');
...
FDQuery.SQL.Open;
Result.CreateDataSet;
Result.CopyDataSet(FDQuery.Fields.DataSet);
end;
我得到錯誤: 「訪問衝突......」。
如何將FDQuery結果複製到另一個TFDDataSet?或者我應該使用TClientDataSet? FireDac與TClientDataSet是否有相同之處?
我也嘗試這樣的,得到了「抽象錯誤」,並期待在這裏http://stackoverflow.com/a/18669138/2980912,所以也許我不能像這樣使用TFDDataSet?或者那並不重要? – Gem
當您逐步完成代碼時,哪一行會導致Abstract Error? –
行CreateDataSet和CopyDataSet會導致錯誤...我試圖傳遞該函數之外的FDQuery結果並從中解析值。我通過創建記錄(記錄數組)來做到這一點,但我被告知這是更好的方式,因爲排序和東西...也許有其他方式來做到這一點?調用該函數,查詢sql並返回結果以在另一個函數之外讀取它們?也許FDMemTable或ClientDataSet? – Gem