首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cds.RecordCount的问题

cds.RecordCount的问题
EN

Stack Overflow用户
提问于 2011-04-07 19:10:42
回答 2查看 2.8K关注 0票数 3

cds.RecordCount有问题吗?

我通常使用它来确定查询中是否有任何记录。

但在与一所大学交谈时,他告诉我,这会对表现造成惩罚!

我做了一些测试,没有什么大的问题。

那么,RecordCount是否存在性能损失或其他问题?!

如果是这样,那么检查查询中是否有一些记录的最佳方法是什么?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-07 19:25:49

如果您使用的是TClientDataSet (正如您的'cds‘所暗示的那样),并且PacketRecords设置为-1 (默认值)或FetchOnDemand设置为False,则没有区别,因为客户端数据集一次接收所有数据并将其加载到内存中。对于其他按需获取数据的数据集,当您前进游标时,使用RecordCount将首先获取所有数据,这一差异将是显而易见的。在这种情况下,最好在打开后使用dataset的EOF属性-如果您只想知道结果集是否为空的话。

票数 4
EN

Stack Overflow用户

发布于 2011-04-07 20:02:13

最好的解决方案是执行SELECT COUNT(*)查询。

如果需要本地所有记录,则应将FetchOnDemand属性设置为False,或者可以在cds.RecordCount之前调用cds.Last

如果目的是检查数据集是否包含记录,还有一个cds.IsEmpty方法……

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5580112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档