[英]How to retrieve data from Sql Server long query using C# in small steps
我想从像 Sql Server Management Studio 这样的长查询中获取数据。 我的意思是,一旦从服务器接收到少量数据(在本例中为 SQL Server 2008),它就会显示少量数据。
我正在使用 C# 和 NET 3.5。 我已阅读有关 BeginExecuteReader 的文档:此方法异步启动查询,但读取操作是同步完成的。
不幸的是,我在谷歌搜索时没有找到任何现实生活中的例子:-(你能帮我解决这个话题吗?
我的查询很简单: SELECT [...] FROM [...] WHERE [...]
但是涉及到很多行,我想向用户展示与查询匹配的第一个行,而不是等待整个操作完成。
非常感谢!
您不需要异步执行阅读器来完成您想要完成的任务。 这里有几个选项供您选择:
选项 1:使用 SqlDataReader在读取(或批处理)记录时显示记录。 根据您的应用程序,您可能需要在单独的线程上执行阅读器并通知 UI 线程相应地更新视图(例如使用 BackgroundWorker)。
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
//read record, diplay record
}
}
选项 2(最佳选项):分页查询结果并一次仅显示“屏幕”数据。
您可以尝试对结果集进行分页,并在它们从 sql 服务器数据库传输到应用程序后立即获取块。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.