winform 多表添加,保存很慢。请大家帮助进度条!

@信心 2012-01-06 08:57:07
winform 多表添加,保存很慢。请大家帮助进度条!
...全文
180 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsitzj 2012-01-16
  • 打赏
  • 举报
回复
简单的多线程,给你写个简单的例子吧。

1.首先新建一个程序进度窗体。 叫做 ProgressBar 好了。在这个窗体里,你可以设计视图添加进度条等等。然后定义一个状态变量

ProgressBar MyProgressBar = new ProgressBar();
Thread MyProgressWait;
Bool DataOperate_Finished = false;

private void ProgressBarWait()
{
MyProgressBar = new ProgressBar();
MyProgressBar.MdiParent = this.MdiParent;
MyProgressBar.ShowDialog();

if(MyProgressBar.DialogResult == DialogResult.OK)
{
//如果数据加载正确的逻辑
}
else
{
//数据加载错误的逻辑
}

MyProgressBar.Dispose();
MyProgressBar.Close();
}

...好,现在是主线程的逻辑了

private void MainThread()
{
MyProgressWait = new Thread(new ThreadStart(ProgressBarWait));
MyProgressWait.Start();
//上面启动进度窗口线程


//这里是你的主线程数据处理逻辑。如果数据处理完成,DataOperate_Finished 变量置 true

int TCounter = 0;
while(TCounter <= 200 && DataOperate_Finished == false)
{
TCounter++;
Thread.Sleep(50);
}

if(DataOperate_Finished == true)
{
this.MyProgressBar.DialogResult = DialogResult.OK;
DataOperate_Finished == false;
}
else
{
this.MyProgressBar.DialogResult = DialogResult.No;
MessageBox.Show("错误信息");
}
}

熙风 2012-01-07
  • 打赏
  • 举报
回复
@信心 2012-01-07
  • 打赏
  • 举报
回复
”多表添加“我的理解是:在一个事务中要向多张表添加记录,其中有一张表循环添加多个记录。
sunygd 2012-01-07
  • 打赏
  • 举报
回复
什麼叫多表添加?一個是基本資料表,一個是圖片資料表?
@信心 2012-01-06
  • 打赏
  • 举报
回复
目前的用户不多,保存的确不算太慢。但是,考虑未来,用户可能N倍增长,网络带宽有限的情况下,还要保存大量图片。另外,有个进度条很炫吗?
问题关键在如何控制进度条中及时反映保存的进度!!!
threenewbee 2012-01-06
  • 打赏
  • 举报
回复
请你朗读下你的问题,你说的是人话么?人类语言都不掌握的,就不要写程序了,伤不起。
qldsrx 2012-01-06
  • 打赏
  • 举报
回复
保存很慢是不可能的,除非有图片要保存进数据库,否则那么点数据量,瞬间就可以保存完毕。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧