zoukankan      html  css  js  c++  java
  • Delphi ADOQuery的 DisableControls 和 EnableControls方法

    DisableControls方法是在程序修改或后台有刷新记录的时候切断数据组件,如TTABLE、ADOQUERY等等与组件数据源的联系。如果没有切断,数据源中只要一有数据的改动,尤其是批量改动的话,每一笔的改动都会更新窗口中数据浏览组件的显示,这样会急剧减慢处理过程而且浪费时间。

    EnableControls的作用相反,用来恢复TTABLE等组件与DATASOURCE的联系,并促使数据浏览组件更新显示。

    这两个函数主要作用:阻止组件感应显示,以加快语句执行速度。 比如,用大量的循环的时候,最好用他们。

    注意事项:     

    1. 数据集的EnableControls, DisableControls方法成对使用的时候, 如果中间的代码可能会导至出错的话必须用try..finaly DisableControls; end; 否则会导致数据感知不控制不可使用;     

    2. 在遍历数据或Filter大数据的时候的要用 DataSet 的 EnableControls 与 DisabbleControls, 否则窗体上的数据感知控件会闪烁.enablecontrols,disablecontrols是防止因数据源的改动而造成界面的闪动!在你需要刷新数据时可以调这两个函数,但建议你把它写在

    try...finally语句块中!   如:   

     try   
          ADOQuery1.disablecontrols;   
          ADOQuery1.close;   
          ADOQuery1.open;   
      finally   
          ADOQuery1.enablecontrols;   
      end;  

       TQuery 的 EnableControls 和DisableControls 方法都是继承自TDataSet 类的。由于TTable 和TQuery 都是TDataSet 的派生类,

       所以它们也适用以上这两个方法。 

  • 相关阅读:
    stm32 输入捕获
    stm32 输入捕获
    stm32 窗口看门狗 WWDG
    stm32 窗口看门狗 WWDG
    stm32 独立看门狗 IWDG
    Linux开机启动chkconfig命令详解(让MySQL、Apache开机启动)
    linux命令之 用户和群组
    vmware
    linux下安装mysql手记
    wget
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11410289.html
Copyright © 2011-2022 走看看