嗨,伙计们!
我是编程新手。我需要你的帮助!
我正在使用Delphi-xe8。应用程序 - >多设备应用程序
我有2个应用程序让我们调用服务器和客户端。
当客户点击“连接”时,我需要' ,客户端数据库应该从服务器数据库更新!
注意:我在双方SQLite中使用。
我需要最简单的方法。
Q&如何使用App tethering从服务器数据库更新客户端数据库?
答案 0 :(得分:3)
我在这里回答你之前的问题:How to Get Images From Server using App Tethering向您展示了如何使用app tethering将服务器中的TClientDataSet中的数据传输到客户端中的数据。
这种传输方法依赖于TClientDataSet将其数据保存到服务器端的流并使用其SaveToStream
和LoadFromStream
从客户端的流加载它的能力。在这个q中,虽然你还没有说明你的2个rQuery组件是什么,但你显然使用的是FireDAC,它的FDQuery,FDMemTable等具有SaveToStream
和LoadFromStream
方法,这些方法在类似的,虚拟的相同的方式(从用户的pov)到TClientDataSet。因此,要从服务器端“更新”您的客户端数据集,您可以使用您在我对其他q的答案中显示的类似方式使用您的数据集组件。
为了保存其他读者访问另一个q,FireDAC代码是
服务器:
procedure TServerApp.DataSetToStream;
var
Stream : TMemoryStream;
begin
Stream := TMemoryStream.Create;
FDQuery1.SaveToStream(Stream);
Stream.Position := 0;
TetheringAppProfile1.Resources.FindByName('BioLife').Value := Stream;
end;
客户端
procedure TCliemtApp.TetheringAppProfile1Resources0ResourceReceived(const Sender:
TObject; const AResource: TRemoteResource);
begin
AResource.Value.AsStream.Position := 0;
FDMemTable1.LoadFromStream(AResource.Value.AsStream);
end;