delphi - 使用 ADO 具有预读功能的 DBGrid

标签 delphi ado dbgrid

我正在使用 ADO 连接到 SQL Server 2005。

我的 TADODataSet 选择 100 万条记录。使用 TDBGrid 并将 TADODataSet.CursorLocation 设置为 clUseServer 是可行的。但是 TDBGrid 窒息了!

如何选择 100 万条记录,避免分页,并且仍然能够在网格中显示记录,而不将所有记录提取到客户端,让网格在我上下滚动时提前读取?

SQL企业管理器可以异步执行查询并选择100万条记录,没有任何问题(也是MS-ACCESS)。

最佳答案

TGrid 不是你的问题。您的问题是 TADODataset 正在尝试加载所有记录。如果必须运行返回如此多记录的查询,则应设置 ExecuteOptions,尝试 eoAsyncExecute 和 eoAsyncFetch。设置 CacheSize 也可能有所帮助。

关于delphi - 使用 ADO 具有预读功能的 DBGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547299/

相关文章:

delphi - 如何在Label和ListView中显示&

delphi - 如何获取当前带宽(下载)速度?

delphi - 如何在没有固定宽度的情况下左对齐和顶部对齐控件?

delphi - AdoDB 对合并列进行过滤

delphi - 如何检查系统上是否安装了OLEDB驱动程序?

delphi - 调整列宽 DBGrid

delphi - 如何从另一个表单引用 DATAGrid

delphi - 如何使用TDBGrid中的复选框选择多条记录?

delphi - Delphi&ADO:日期时间到字符串的转换

delphi - DBGrid:如何防止选择一行?