Mar*_*tin 2 .net c# sql ado.net asynchronous
如何处理SqlCommand结果(行)?换句话说,我正在尝试完成Sql Management Studio 2005在执行具有数千行的查询时所执行的操作.对我来说,看起来只要Sql找到了第一个结果,就会通知用户界面并显示行来......
我想它可以与BeginExecuteReader和EndExecuteReader异步完成,但是(在我的测试中)只有在结果集完成时才调用回调方法.有关如何复制Sql Management Studio 2005的知识吗?
谢谢!
不要执行异步操作,只需调用ExecuteReader
然后迭代结果集即可.
using(SqlCommand cmd = new SqlCommand(......))
using(SqlDataReader rdr = cmd.ExecuteReader())
{
while(rdr.Read())
{
// read and interpret row
// possibly update GUI or something
}
}
Run Code Online (Sandbox Code Playgroud)
如果您在处理这些UI时需要更新某些UI,则可以始终使用已读取的新行调用另一个方法.
渣