delphi記憶體表

delphi中间件發表於2024-12-05

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。

相關文章