2

我使用一个提供程序在主详细信息中有 2 个 ClientDatasets。2 个基础查询作为主详细信息与数据源连接,并且主查询将详细信息作为字段 (TDatasetField)

我的问题是关闭主(甚至是细节)数据集会关闭主查询,但细节没有关闭......如果我们稍后尝试使用相同的参数重新启动相同的查询,则会导致问题。

我认为无论如何都应该关闭详细查询...

有什么帮助吗?

谢谢

4

1 回答 1

0

这是 Delphi XE 中的一个问题。它已经在 Quality Central (QC) 101264中。您也可以在 EDN 的论坛中看到它

提供者应自动打开或关闭主数据集和链接的详细数据集。因此,没有当前代码,master.close;因此您可以detail.close;按照一些评论的建议添加 a 。如果您使用的是 IBX,即使有主从(QC 107456)时也不会提交事务组件。

有两种解决方法:

  1. 您可以detail.close;在 MasterDataset.OnAfterClose 事件中添加一个。请注意,这不是MasterClientDataSet.onAfterClose。
  2. 您可以在 Provider.Options 中设置选项poFetchDetailsOnDemand。如果您不希望 ClientDataSet 仅按需获取详细信息的记录,这可能会产生不良影响。
于 2013-10-25T13:51:51.977 回答