delphi 中获取update记录数 query1.add(update a set b='')
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 中获取update记录数 query1.add(update a set b='')相关的知识,希望对你有一定的参考价值。
query1.add(update a set b='')
这个语句如何获取它更新的记录数.
那就可以接着查一下就可以了
select * from a
然后query1.recordcount 就是你更新的记录数 参考技术A 没有更新条件就是整个表都被更新了
select count(*) 就是了
有更新条件就加上更新的条件查询
SetRange 活动时如何获取 FireDAC 记录数
【中文标题】SetRange 活动时如何获取 FireDAC 记录数【英文标题】:How to get FireDAC record count when SetRange active 【发布时间】:2016-07-15 07:33:08 【问题描述】:在我的项目(Delphi 10 Seattle)中,我正在慢慢地从 ClientDataSet 迁移到 FireDAC FDQuery 组件。
我经常使用 CDS 的一个技巧是检查范围内的记录数。
即:
CDS.SetRange([Value1][Value2]);
k := CDS.RecordCount;
case k of
1 : DoSingleThing;
2 : DoDoubleThing;
else
BailOnWrongCount;
end;
因为我需要同时提供整个数据集,所以我在第一次打开查询时使用 FetchOptions.Mode := fmAll。
执行FDQuery.SetRange([Value1][Value2]);
然后调用FDQuery.RecordCount
总是返回整个数据集的记录计数(根据 fmAll) - 而不是当前范围。
我不得不手动循环遍历范围计数记录。
有没有更简单的方法来获取当前范围内的记录数?
【问题讨论】:
【参考方案1】:将 FetchOptions.RecordCountMode 设置为 cmVisible: http://docwiki.embarcadero.com/Libraries/Seattle/en/FireDAC.Stan.Option.TFDFetchOptions.RecordCountMode
【讨论】:
再一次令人眼花缭乱。谢谢你 - 在适当地设置 FetchOptions.Mode 之后,我完全错过了 RecordCountMode (或者更确切地说,前一段时间读过它并完全忘记了)。慢慢走在前面,非常感谢您的支持。 ——只是为了确定——如果连接到 DBGrid,cmVisible 会返回不同的结果吗?我认为这最初让我感到困惑:它不是网格中当前可见的记录,而是实际上是当前可访问的所有可能记录的子集 - 无论是过滤还是受范围限制 - 这是正确的吗? cmVisible 表示记录数,可通过 TDataSet 导航 API(First、Next、Eof 等)以及所有当前过滤/限制设置访问。 cmVisible 与 GUI 或 TDBGrid 无关。可能更好的名字是 cmAccessible,但这个名字可能会引起其他疑问......以上是关于delphi 中获取update记录数 query1.add(update a set b='')的主要内容,如果未能解决你的问题,请参考以下文章
获取 PostgreSQL 中受 INSERT 或 UPDATE 影响的记录数