我有一个类似这样的代码
dxMemOrdered : TdxMemData;
while not qrySandbox2.EOF do
begin
dxMemOrdered.append;
dxMemOrderedTotal.asCurrency := qrySandbox2.FieldByName('TOTAL').asCurrency;
dxMemOrdered.post;
qrySandbox2.Next;
end;
此代码在线程中执行。当有大量记录说“400000”时,解析它大约需要 25 分钟。有什么办法可以通过优化循环来减小尺寸?任何帮助,将不胜感激。
更新
根据建议,我做了以下更改
dxMemOrdered : TdxMemData;
qrySandbox2.DisableControls;
while not qrySandbox2.Recordset.EOF do
begin
dxMemOrdered.append;
dxMemOrderedTotal.asCurrency := Recordset.Fields['TOTAL'].Value;
dxMemOrdered.post;
qrySandbox2.Next;
end;
qrySandbox2.EnableControls;
我的输出时间从 15 分钟提高到 2 分钟。谢谢你们