【发布时间】:2019-02-03 13:58:23
【问题描述】:
大家好!我希望你能帮助我解决我的问题,但如果没有,谢谢你的尝试。我有 DataSnap 服务器和客户端。 DataSnap 服务器方法可以将 DataSet 作为函数结果返回给客户端。我正在使用 TFDQuery 组件从 MySQL DB 获取数据。有人请帮助我理解,我怎样才能从 FDQuery 组件中获取已经有数据的数据集?
TDataSet.Data 是包含所有数据的 OleVariant 类型属性。但是 FDQuery 没有相同的属性。我需要从 FDQuery 返回一个数据集作为函数中的 OleVariant。
*从代码中删除了 Try、Except、FreeAndNil、DisposeOf 等,以便更好地理解问题
//Client side
procedure TForm1.GetDataSetFromServer;
var
Server: TServerMethods1Client;
DS: TClientDataSet;
begin
Server := TServerMethods1Client.Create(ClientModule1.SQLConnection1.DBXConnection);
DS := TClientDataSet.Create(nil);
DS.Data := Server.GetDataSet; //Call remote server method
end;
//DataSnap server side
function TServerMethods1.GetDataSet: OleVariant;
begin
FDQuery1.Close;
FDQuery1.SQL.Text := 'SELECT * FROM Table1';
FDQuery1.Open;
//Now i need to return all data as function result
result := ???
end;
需要任何有用的信息。提前致谢!祝你有美好的一天!
【问题讨论】:
标签: delphi pascal firedac datasnap