【发布时间】:2017-06-16 17:45:03
【问题描述】:
我目前正在开发一个小型应用程序,该应用程序将执行大量查询,结果会产生大量行(约 500k,高达一百万)。所有这些查询都在 BGWorker 中一一执行。有一个用于 SQL Server 2008 的 BGWorker,另一个用于 Oracle 11g。
所以,问题是:有没有办法显示在 C# 中执行查询时正在读取的当前行数?
例如,在 PL/SQL 中运行的任何查询都会显示此数字,该数字每毫秒更新一次,并反映正在返回的行数:
(是的,这样的行数有时让我感到畏缩。)
【问题讨论】:
-
您在使用 ADO.NET、ORM 等吗?
-
我在这里使用 ADO.NET。它只是一个小型 WinForms 应用程序。
-
相关:stackoverflow.com/questions/2611972/… 据我所知,即使使用 ORM,似乎也没有太多支持。
-
我不明白这个问题:为什么不在
DataReader创建时声明一个计数器,然后在每个Read()之后简单地递增它? -
否:每次获取一行时都会调用
Read命令,无论如何这正是图像中 sql 编辑器幕后发生的事情
标签: c# winforms sql-server-2008 oracle11g