delphi記憶體表
1)TClientDataSet
早年datasnap基於COM,datasnap遠端方法函式可以返回OLEVariant,TClientDataSet.Data和TClientDataSet.Delta的資料格式都是OLEVariant。
delphi資料集透過TDataSetProvider橋樑轉換為OLEVariant。
DSP+CDS組合,firedac,unidac,ado,bde,dbx。。所有資料庫引擎都支援。
CDS有一個惹人厭的問題,midas.dll,要是機器上有多個版本的midas.dll,簡直是無限麻煩。解決方法:在工程檔案 uses midas.dll。
CDS後來也支援linux,部署的時候,相應的要帶一個特有的libmidas.so.2動態庫。
CDS這一點是很讓人詬病的。
1.1)查詢
qry.Close; qry.SQL.Clear; qry.SQL.Text := req.asStr['sql' + i.tostring];
//qry.open; //此行程式碼千萬不能有,否則會查詢二次 result := dsp.Data;
1.2)儲存
qry.Close; qry.SQL.Clear; qry.SQL.Text := 'select * from table where 1=2'; dsp.ApplyUpdates(delta, 0, err); //delta是客戶端提交上來的資料 if err > 0 then begin //儲存失敗 end;
2)TFDMemTable
delphi為了支援跨OS,廢掉了DBX,引入全新的firedac資料庫引擎。datasnap也不再基於COM(COM勢微)。
帶來了全新的firedac記憶體表TFDMemTable。