首页 > 代码库 > datasnap的前世今生
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 FDMemTable1FDMemTable1.Data := FDQuery1.Data; FDQuery1.NextRecordSet;FDQuery1.FetchAll;// assign customers records to FDMemTable2FDMemTable2.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;
datasnap的前世今生
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。