【发布时间】:2012-02-28 03:24:22
【问题描述】:
我想使用进度条来显示当前进度% 数据行已加载。我看到similiar question 已在 SO 中被问到,但解决方案只是建议使用选取框样式。
例如,我运行一个查询大型数据表的 Select 语句,这可能需要几秒钟。 我希望进度条更新查询的当前进度。这可能吗?
我知道我需要的东西很少:
- 将检索总记录计数。 (可以先Select count(1)获取)
- 一些通知告诉我刚刚检索了多少条记录。
对于2.是我不知道如何实现的部分。
我可以考虑将其拆分为情侣查询,但这可能并非一直都可行。
但是在 SQL 中与Cursor 类似的东西怎么样?要求 SQL Server 查询一个块并重复返回数据。
for loop{
//query a chunk of records
//return
//Next
}
所以我可以计算进度并将它们填充到单个DataTable。
上面可以做点什么吗?如果有,怎么做?
因为我看到一个 ASP.NET 应用程序能够显示加载大型数据表的进度,所以我想在 WPF 中实现同样的事情。
【问题讨论】:
-
您使用什么进行数据访问:ORM、Web 服务、ADO.NET 等?你的后端服务器是什么?
-
@oleksii 我正在使用实体框架,但我认为这对于 ORM 可能很困难。所以我正在考虑使用 ADO.NET 通过 SQL Server 来实现这一点。
-
@KingChan,你确定有进度条值得不用ORM吗?
-
@oleksii 实际上,对于我正在实现的模块,无论如何都必须使用 ADO.NET。它需要运行用户定义的动态 SQL 语句。
标签: c# sql progress-bar