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

2025-05-19 08:02:58
推荐回答(2个)
回答(1):

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

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

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

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

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

回答(2):

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