.net 执行一个查询大量数据的方法 怎么用线程实现让它后台运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net 执行一个查询大量数据的方法 怎么用线程实现让它后台运行相关的知识,希望对你有一定的参考价值。

就是执行一个查询oracle数据库的方法,返回一个datareader。因为数据量太大 执行的很慢程序直接未响应,怎么用线程实现让它在不影响程序其他东西运行时,查询完,并且操作datareader。

参考技术A 另外开一个线程去查询数据库。UI线程响应用户操作。Thread t=new Thread(GetDr);
t.start();

void GetDr()

//获取 datareader
追问

可不可以再详细点,没用过thread所以就是thread t=new thread(getdr)这里 不清楚具体写成什么样,因为要有返回值,谢谢了

追答

在外部定义一个 DataReader dr
SqlDataReader dr = new SqlDataReader();

main()

thread t=new thread(GetDr);
t.start();


void GetDr()

using(SqlConnection conn = new SqlConnection("连接字符串"))

SqlCommand comm = new SqlCommand("select 123",conn);
dr = comm.ExecuteReader();

本回答被提问者采纳
参考技术B 可以将它写成异步的啊

以上是关于.net 执行一个查询大量数据的方法 怎么用线程实现让它后台运行的主要内容,如果未能解决你的问题,请参考以下文章

#私藏项目实操分享# Java代码优化-请求合并与分而治之

java Future 阻塞

C#多线程如何处理数据

SQL里怎么用UPDATE 更新大量SELECT 数据

中止正在运行长查询的线程

ASP.NET里面Ajax请求数据后台可以用多线程处理返回吗?