C#中, 在从exc表中导入数据到数据库中, 怎样实现进度条 ?该如何处理

C#中, 在从exc表中导入数据到数据库中, 怎样实现进度条 ?
本帖最后由 tohert 于 2014-07-30 16:50:22 编辑
  数据量有点大, 如果没有什么提示的话, 对用户的体验不友好。 

点击导入按钮后,在后台可以获取exc表中的总行数,然后用for循环依次导入数据库中,然后我想在显示页面用一个label,在for循环中改变label的值,显示执行到第几条数据了。比如说, 当for循环到第五条的时候,我想让label显示出:当前正在导入第五条数据,总共多少多少条数据,请稍等。
 可是发现根本不行呀, 点击了导入按钮后,label是在等程序执行完后再显示记录, 那已经是最后一条了。。。

有木有朋友帮帮忙。。。
------解决方案--------------------
使用线程导入
Thread thread=new Thread(new ThreadStart(DO));
thread.IsBackground=true;
thread.Start();

public void DO()
{
//导入数据的所有代码

CrossThreadCalls代码到下面网址里面查找
http://www.cnblogs.com/slyzly/articles/2121436.html
for(int i=0;i<count;i++)
{
  CrossThreadCalls.SafeInvoke(this.label, new CrossThreadCalls.TaskDelegate(delegate()
   {
    label.text=(i+1).ToString();
   }));
}

}
------解决方案--------------------
你要做的是把导入的过程放在新开的线程中执行,这样就行了
------解决方案--------------------
同意楼上,导入用线程

定义事件委托, 每插入一条,插入条数加1


主界面注册,进度条响应插入条数事件
------解决方案--------------------
web程序你要用ajax,做js脚本更新,你直接在后台更新,前台页面不刷新的话,依然还是不变