【发布时间】:2015-06-26 14:04:16
【问题描述】:
在这个问题中:
Delphi ADO : Locate with dataset filter on bug
描述了一个 ADO 错误,其中过滤器字符串在 .Locates 期间被忽略。
这给我们从 BDE 迁移带来了问题,因为我们有很多代码会根据用户输入更改过滤器。
我们曾期望 TADOQuery 提供有效的迁移路径。我们错了。
我们当然可以将当前的过滤器更改为 WHERE 语句,但这是一项大量工作,并且有将过滤器字符串连接到无过滤器的 WHERE 语句等的风险。
对上述问题的公认答案表明可以使用TCustomADODataSet.Recordset.Find
我们可以安全地在 TADOQuery 中使用 RecordSet.Find 来实现 .Locates 吗?即 RecordSet.Find 是否更新 TADOQuery 放置在 TADOQuery 周围的任何包装器?
如果是这样,有人可以显示从 Delphi XE5 到 RecordSet 的示例调用吗?我无法弄清楚这些论点。
【问题讨论】:
-
我认为您至少迟到了 5 年才能进行此类迁移。为什么选择 ADO? FireDAC 似乎是 Delphi 最受支持的 DB 库(如果在谈到 Emb 时可以说“支持”的话)。
标签: delphi ado tadodataset