如何在复制、SQL查询或文件传输(rapi)中设置进度条?
或者是一些我无法测量的东西?
谢谢你的帮助。
发布于 2009-01-10 18:21:10
将进度条设置为选框,而不是进度。这将让您的用户知道仍在发生某些事情,而不提供确切的百分比。
发布于 2009-01-10 17:53:52
这真的取决于如何架构你的代码。
据我所知,目前还没有用于跟踪任务进度的API,例如复制文件或运行SQL命令。如果您希望能够跟踪进度,则必须设计某种方法将任务分解为可度量的任务,然后将其用作进度基准。
例如,如果您正在执行一系列SQL INSERT查询,请测量所需的查询数量(如果可能)。统计一下到目前为止您执行了多少次inserts。每次完成一个查询时,您都可以做一些简单的数学运算来测量您的进度,因为您已经获得了所需的总查询数和到目前为止的查询数。
发布于 2009-01-10 17:42:12
好吧..。真的,既然你不能测量,你就只能猜测。你有没有安装过windows,进度条移动很慢,但突然它就跳了很多?
有几个想法。如果您只有一个SQL查询,那么您可以随着时间的推移慢慢移动进度条(比如每秒0.5%?)。然后,如果查询在命中率达到90%时还没有完成,则停止查询。然后,在它完成之前,不要让它结束。如果它提前完成(而缓慢的攀登正在进行中),就跳到100%。
另一个想法是多次运行查询来计算平均时间。使用它来做我在上一段中提到的相同的事情,但是使用平均时间,您可能可以使增量与实际进度更好地匹配。
祝好运!
https://stackoverflow.com/questions/431377
复制相似问题