mORMot2 獲取數據集(泛型)

mORMot2 獲取數據集(泛型)

第14章 使用泛型

現代Delphi版本的一個特點是能夠使用泛型。


var 
  aMale: TSQLBaby; 

Begin
  aMale := TSQLBaby.CreateAndFillPrepare(Client, 'Name LIKE ? AND Sex = ?',['A\%',ord(sMale)]);
try
  while aMale.FillOne do
   DoSomethingWith(aMale);
  finally
    aMale.Free;
  end; 
end;

可以被替換爲


var 
  aList: TObjectList<TSQLBaby>;
  aMale: TSQLBaby;
 ...
begin 
  aList := Client.RetrieveList<TSQLBaby>(’Name LIKE ? AND Sex = ?’,[’A\%’,ord(sMale)]);
  try
    for aMale in aList do
      DoSomethingWith(aMale); 
  finally
    aList.Free;
  end;
end; 

如果你覺得這個更吸引人,那麼你就有更多的選擇了。但有一個缺點,這個版本會一次性將所有數據下載到內存中。通常這不是問題,但如果你有一個非常大的數據集,你可能會耗盡內存。在服務器上,那將是致命的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章