如何在Firemonkey Delphi XE8中加载我的TListbox中的所有数据库记录

时间:2015-06-04 13:59:41

标签: database delphi device firemonkey delphi-xe8

我在Delphi Xe8中有一个多设备项目。我有一个TListBox组件,我加载数据库记录。

问题是有时列表可能非常大,因此加载需要很长时间。所以我想部分加载它,当我向下滚动加载新记录时。我该怎么做?

现在我使用TFDQuery加载我的表的每条记录。

更新 经过一段时间后,我意识到问题并不在于从数据库加载所有记录,而是在TListBox中创建所有TListBoxItems。所以我仍然想要做同样的事情,但现在加载所有数据库记录,但不为所有数据库记录创建TListBoxItems。

1 个答案:

答案 0 :(得分:2)

TFDQuery上的Embarcadero wiki中,您可以设置BlockReadSize

  

对于启用BDE的数据集,设置BlockReadSize也会导致   数据集以获取BlockReadSize块中的数据库信息   记录,然后缓冲。这可以最大限度地减少您的流量   应用程序和数据库服务器。

您可以尝试的另一件事是TFDQuery的FetchOptions,它具有RowSetSize属性

我现在没有FireMonkey,所以我可以测试一下。