我有一个Delphi应用程序,它有2个TADODataSet对象,分别引用客户(主)和订单(详细)数据。我通过DataSource和Masterfield(使用ClientCode)属性链接了这两个组件,所有功能都与预期一致。但是,我最近注意到了一个性能问题,并发现即使只为主记录集返回一条客户端记录,也会返回整个orders表,然后针对特定客户端进行过滤。这是它应该如何工作的吗?通过跟踪数据库活动,我可以看到正在执行以下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
发布于 2013-01-26 03:24:33
您只需注意Masterfield是否使用您的主数据集的fieldname正确命名。

发布于 2013-04-11 23:03:30
请确保两种情况下的参数类型相同,即master和child。
https://stackoverflow.com/questions/14526905
复制相似问题