zoukankan      html  css  js  c++  java
  • 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;
    
  • 相关阅读:
    实验7 BindService模拟通信
    实验6 在应用程序中播放音频和视频
    实验五-数独游戏界面设计
    期中测试-计时器界面设计
    实验4 颜色、字符串资源的使用
    实验三、动态优先数实验
    实验二 作业调度模拟程序
    实验一 命令解释程序的编写
    实验八:SQLite数据库操作
    在应用程序中播放音频和视频
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/3967814.html
Copyright © 2011-2022 走看看