在C# winform程序里往sql server 2000插入处理大量数据时,界面不能再进行任何操作,怎么办啊?

来源:百度知道 编辑:UC知道 时间:2024/04/30 18:38:26
在C# winform程序里往sql server 2000插入处理大量数据时(大约需要五分钟),界面不能再进行任何操作,跟死机差不多,执行完后才恢复正常,请问高手们有什么解决办法啊?不好意思,我不够分送,唯有谢谢啦!
我知道原因了,把插入数据线程设置为后台线程就可以了,还是要谢谢两位!

可以用线程来插入大量数据

你这个现象的原因是因为主线程(也就是界面线程,应用程序通过主线程响应用户的输入)在插入大量数据的时候阻塞了,不能响应用户的输入,所以看起来就像死了一样

在新的线程里做插入新数据的工作,只要启动线程就可以不用管了,同时又不会阻塞主线程

关于线程的知识,你可以稍微了解一下

只要你不主动阻塞主线程就不会卡住像死机一样,还有主线程不要执行这种长时间的任务,否则就会出现你说的那种现象

还要看你的数据量大的怎么样。如果有几十万的数据行,那么还要看你的网络。
如果那些数据可以有存储过程生成,那么最好就是由存储过程来做拉,不需要太多的程序与SQL的交互。如果你的数据需要一行一行的写入的话,我建议你不要使用动态生成的SQL insert语句,使用一个做插入的存储过程会好些。