datasnap的前世今生

随着XE6,XE7,以及半年以后即将发布的XE8,DATASNAP将顺应跨平台的需要,

有可能的情况是这样的:XE8,DATASNAP写的中间件将可以运行在LINUX服务器上面。

大家都知道COM是WINDOWS特有的东西,为了跨平台,COM将被弃用。

DATASNAP残留的COM基因的东西统统将被弃用,COM的数据序列格式OLEVARIANT将被弃用,

CLIENTDATASET的DATA和DELTA属性是OLEVARIANT,因此也将被弃用,CLIENTDATASET的替代品是FDMEMTABLE,

DATASETPROVIDER的DATA属性是OLEVARIANT,因此也将被弃用。

DBXEXPRESS的命运同历史上的BDE一样,同DATASNAP捆绑紧密的将会是FIREDAC。

FireDAC 在XE5 UPDATE2之后 增加了一个Data.FireDACJSONReflect单元,用于FIRDAC数据同JSON之间的相互转换。

有意思的是,FIREDAC的数据集们,都像CLIENTDATASET一样有DATA和DELTA属性,看来CLIENTDATASET好的思路仍将被保留,

只不过数据格式不再是OLEVARIANT了,而是IFDDataSetReference接口。

附一段EMB的官方DEMO:

FDQuery1.SQL.Text := 'select * from orders; select * from customers';   FDQuery1.Open; FDQuery1.FetchAll; // assign orders records to FDMemTable1 FDMemTable1.Data := FDQuery1.Data;   FDQuery1.NextRecordSet; FDQuery1.FetchAll; // assign customers records to FDMemTable2 FDMemTable2.Data := FDQuery1.Data;

 

procedure TForm1.Button1Click(Sender: TObject);
begin

    OutFDMemTable.CachedUpdates := True;

    OutFDMemTable.Open;
    OutFDMemTable.Append;
    OutFDMemTable.FieldByName('Test').AsString := 'First Record';
    OutFDMemTable.Post;

    OutFDMemTableDelta.Data := OutFDMemTable.Delta; // copy only modified/inserted data

    OutFDMemTable.Close;
    OutFDMemTableDelta.Close;

End;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值