datasnap的前世今生

2021-09-08 14:23:43 字數 1372 閱讀 7046

隨著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.fieldbyname('test').asstring := 'first record';

outfdmemtable.post;

outfdmemtabledelta.data := outfdmemtable.delta; // copy only modified/inserted data

outfdmemtable.close;

outfdmemtabledelta.close;

end;

LinkedList前世今生

1 linkedlist元素在內部儲存的實現,節點定義即指向前一元素的指標,後一元素的指標,當前元素的值。private static class entry 2 建立乙個空鍊錶。預設有個頭指標header。private transient entryheader new entry null,n...

前世今生 STL

嘛,string就是乙個用於字串處理的標準類庫,但是需要注意的是其速度可能會比直接操縱char陣列要慢一些。reverse這個方法是我一直都想找到但是沒有找到的,在判斷回文的時候格外好用。string s abcdef string ss s ss abcdef reverse ss.begin s...

位址 前世今生

alu arithemetic and logic unit 書面意思是 算術與邏輯部件,運算器,算術與邏輯單元,通俗來講 cpu處理的資料位數。從4位 8位 16位 32位,處理能力越來越強。發問 16位計算能力如何處理20位的位址呢?cs ip 是一組暫存器,用於告知 cpu 當前將要讀取的彙編...