服務端使用FDQUERY查詢數據並返回TDATASET:
function TServerMethods1.GetData(var sql: string): tdataset;
begin
qry.Close;
qry.Open(sql);
Result := TFDMemTable.Create(nil);
TFDMemTable(Result).Data := qry.Data;
end;
客戶端用FDCONNECTION連接中間件,FDStoredProc訪問遠程方法:
procedure TForm1.Button1Click(Sender: TObject);
begin
FDConnection1.Connected := true;
FDStoredProc1.Close;
FDStoredProc1.Unprepare;
FDStoredProc1.StoredProcName := 'TServerMethods1.GetData';
FDStoredProc1.Prepare;
FDStoredProc1.ParamByName('sql').Value := 'select * from bas_goods';
FDStoredProc1.open;
FDMemTable1.Close;
FDMemTable1.Data := FDStoredProc1.Data;
FDStoredProc1.Close;
end;