0

我有一个 Delphi 应用程序,它有 2 个TADODataSet引用 CLIENT (Master) 和 ORDER (detail) 数据的对象。我通过 DataSource 和 Masterfields(使用 ClientCode)属性链接了 2 个组件,并且一切都按预期运行。但是,我最近注意到一个性能问题,并发现即使只为主记录集返回一条客户记录,也会返回整个订单表,然后针对特定客户进行过滤。这是它应该如何运作的吗?通过跟踪数据库活动,我可以看到正在执行以下 SQL:

-- the one client that I wanted to view
SELECT fields FROM Client WHERE ClientCode = 1;

SELECT fields from Order; -- entire orders table

我正在使用 Delphi 2006 BDS

4

2 回答 2

1

您只需要注意使用主数据集的字段名称正确命名 Masterfield。

这里标识

于 2013-01-25T19:24:33.183 回答
1

确保两种情况下的参数类型相同,即 master 和 child。

于 2013-04-11T15:03:29.857 回答