我的应用程序的大多数表单使用2个或更多的数据库网格:基本上,用户在主网格中单击一条记录,然后在辅助网格中得到子结果。
我所有的主DBGrids FDQueries (也就是带有SELECT的那个)都已在窗体上设置,但没有一个是“活动的”,它们在FormShow上触发。
我注意到,无论我写的是:
FDQuery1.Active := True;或
FDQuery1.Open;结果是一样的:我的行显示在主DBGrid中。
因此,我在FormClose上调用Close或Active := False。
但这些方法之间肯定有区别,这就是我的问题的主题:Query.Open和Query.Active := True;之间的区别是什么?
如果有任何显著的差异,我应该使用什么?
提前感谢
数学,当你花时间回答我的问题时,变得越来越新手:)
附注:我的INSERT和UPDATE查询是用一个CLEAR then、SQL.ADD、参数声明和最后一个ExecSQL设置的
发布于 2017-06-09 23:53:00
Active是一个属性,Open是一个方法。当Active设置为true时,它调用Open方法,当它设置为false时,它调用Close。Active非常有用,因为它可用于检查数据集是否实际处于打开状态。
if Qry.Active then DoSomething;https://stackoverflow.com/questions/44450881
复制相似问题