一直未解的一个数据库处理时的问题

songfen123 2005-01-24 06:00:54
我写的对数据库批量更改的程序在FORM里放了个进度条 由于数据量比较大 每次处理的时间都会在半分钟以上 可问题是在数据处理的过程中我的窗体会变成反白的颜色好象我的程序运行的太吃力而死了一样 这个状态一直要到我的程序运行完才结束 有什么办法避免这种情况的发生?
...全文
259 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilsonloveada 2005-02-21
  • 打赏
  • 举报
回复
虽然Application->ProcessMessages();语句可以,但我还是感觉用线程会比较合适一些!
mmking33 2005-02-21
  • 打赏
  • 举报
回复
在for while循环内,处理数据的地方加入Application->ProcessMessages();
Friecin 2005-02-20
  • 打赏
  • 举报
回复
1、加入到多线程,

2、在执行查询之前,假如 Application->ProcessMessages();
iamleejun 2005-02-20
  • 打赏
  • 举报
回复
将主窗口的进度条对象传递给处理数据的线程,这样子就可以在哪个线程里面直接操作进度条,但是主窗口不会出现锁死的状态了
iamleejun 2005-02-20
  • 打赏
  • 举报
回复
除了多线程,其实真的没有任何有效的方法
yeyu710 2005-02-04
  • 打赏
  • 举报
回复
me也是来学习的,分就不敢要了!
Javpp 2005-02-04
  • 打赏
  • 举报
回复
学习
humanistor 2005-02-04
  • 打赏
  • 举报
回复
在数据处理过程中,如进度条变化时的同时加上刷新窗体的代码
yasaka 2005-02-01
  • 打赏
  • 举报
回复
刷新一下试试看!
Winsky 2005-02-01
  • 打赏
  • 举报
回复
Application->ProcessMessages();应该放在循环的最内层执行
free1688 2005-01-27
  • 打赏
  • 举报
回复
呵呵,楼上的朋友们,就不能说点别的方法?说插入Application->ProcessMessages();就都是这一个说法了。

可以update,刷新后再显示数据。
这个方法治标不治本。必须多线程才可以解决根本问题。
show00 2005-01-26
  • 打赏
  • 举报
回复
线程和Application->ProcessMessages();随便选一个
veryhappyboy 2005-01-25
  • 打赏
  • 举报
回复
把处理数据和更新进度条的工作在一个新的线程里进行。
特招 2005-01-25
  • 打赏
  • 举报
回复
用线程
从横四海 2005-01-25
  • 打赏
  • 举报
回复
up
wilsonloveada 2005-01-25
  • 打赏
  • 举报
回复
Application->ProcessMessages();
这个语句是让你在处理数据库之前先处理系统的消息!
558047 2005-01-25
  • 打赏
  • 举报
回复
打个比方吧 具体在什么地方加Application->ProcessMessages();
我有同感,但是这个问题解决了。
就是在数据量大的地方放,你认为哪块吃力放哪。前后都放一个。
icwin 2005-01-24
  • 打赏
  • 举报
回复
关注
songfen123 2005-01-24
  • 打赏
  • 举报
回复
打个比方吧 具体在什么地方加Application->ProcessMessages();
比较合适
kmfangxun 2005-01-24
  • 打赏
  • 举报
回复
在数据处理的过程中得适当的地方加入:

Application->ProcessMessages();
加载更多回复(1)

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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