代码之家  ›  专栏  ›  技术社区  ›  rajeemcariazo

在Delphi中显示SQL查询的进度

  •  2
  • rajeemcariazo  · 技术社区  · 14 年前

    是否可以在Delphi中显示SQL查询的进度?例如,我在Firebird中有一个很长很复杂的查询,我想向用户显示系统已经完成了多少百分比的查询。是否有任何类或组件能够做到这一点?

    3 回复  |  直到 14 年前
        1
  •  4
  •   oodesigner    14 年前

    另外,没有能力度量查询执行时间和显示进度指示器。DBMS不提供此类信息。

    但您可以显示“等待”对话框,可以取消查询。我们用AnyDAC做这个。套ResourceOptions.CmdExecMode amCancelDialog并删除tadGuixForMSAsyncExecutedDialog组件。然后用户将有能力取消查询。

        2
  •  3
  •   user160694 user160694    14 年前

    这完全取决于你的数据库。有些人发布这些信息(即Oracle将它们放在v$session\u longops视图中),有些人则不发布。通常您必须执行查询,除非数据库在此过程中提供某种回调—这也是特定于数据库的功能。有些允许在结束前终止长时间运行的查询,有些则不允许。请查看数据库文档。如果某个功能可用,则用于访问数据库的库必须对其进行表面处理,否则可能需要直接调用DB client库。

        3
  •  1
  •   MarkF    14 年前