zoukankan      html  css  js  c++  java
  • delphi 中Adoquery ,在打开时能否让记录指针不移动? [问题点数:40分,结帖人microd]

    delphi 中Adoquery ,在打开时能否让记录指针不移动?
    由于数据集Adoquery 时,它的针指称动会废时,能否在打开完成之前不让记录指针不移动。打开完毕之后再回复移动?

    这样用:
    self.ADOQuery1.DisableControls;
    .........
    self.ADOQuery1.EnableControls;

    procedure refreshDataSet(daSet: TadoQuery);
    var
      tempBookmark: TBookmark;
    begin
      IF DaSet.RecordCount<=1 Then
            Exit;
      daSet.DisableControls;
      tempBookmark := daSet.GetBookmark;              //保存书签
    
      daSet.Requery([]);                              //刷新数据,
      try
        daSet.GotoBookmark(tempBookmark);             //重新获取书签
      except
        daSet.Last;
      end;
      daSet.EnableControls;
    end;
    假设表名是adoquery1,
    DisableControls是切断数据表adoquery1与感知组件如:dbgrid,dbedit等的联系。
    如果你在代码中有移动和编辑、添加、删除记录的情况下,adoquery1的记录指针也会动的。
    如果你关闭后又重新打开adoquery1,需要重新定位指针。
    adoquery1.requery;//  可用楼上的方法。
    如果是close后再open的情况下,bookmark也会失效的。重新定位,用locate,seek也可实现。
  • 相关阅读:
    多表连接查询
    从0开始独立完成企业级Java电商网站开发(服务端)
    ThreadLocal小试牛刀
    svn版本控制
    策略模式和工厂模式搭配使用
    MyBatis-Plus
    github骚操作
    【测试】 Java如何优雅的生成测试数据
    【随笔】开源之殇
    【Maven】maven 插件开发实战
  • 原文地址:https://www.cnblogs.com/jijm123/p/11301203.html
Copyright © 2011-2022 走看看