如何立即更新控件的值

genggeng1990 2012-03-06 11:17:12
我做的一个统计程序,输入数后要进行累加,并放到数据库中,然后输出结果,可为什么每次打开程序后的第一次添加后都不会自动刷新,而第二次添加之后显示的是第一次添加后的结果,程序是在点击添加按钮后先从数据库中读出数据,累加,更新数据库,再读取数据库中的内容显示到控件中
vSQL="select * from table1 where ID=1";
ListRecordset(vSQL);
UpdateData(false);
this->Invalidate();
this->UpdateWindow();
可这样还是不行
...全文
244 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lutaili 2012-09-04
  • 打赏
  • 举报
回复
this->UpdateWindow(); 有效
genggeng1990 2012-03-07
  • 打赏
  • 举报
回复
这个函数已经起作用了,调试的时候窗体消失后再出来能更新,如果直接运行的话就不能立即更新
[Quote=引用 9 楼 xuddk727 的回复:]

UpdateData
[/Quote]
许文君 2012-03-06
  • 打赏
  • 举报
回复
UpdateData
genggeng1990 2012-03-06
  • 打赏
  • 举报
回复
换了个思路,把累加结果先传递给控件,在添加到数据库里边,这样就行
而且发现this->Invalidate();this->UpdateWindow();这两个函数在这里是没有起作用的
genggeng1990 2012-03-06
  • 打赏
  • 举报
回复
这么做根本就不会更新,去掉UpdateData(false)变量的值不会传给控件啊
[Quote=引用 6 楼 lin98666lin 的回复:]

UpdateData(false);
this->Invalidate();
去掉试试。
[/Quote]
only_delusion 2012-03-06
  • 打赏
  • 举报
回复
UpdateData(false);
this->Invalidate();
去掉试试。
genggeng1990 2012-03-06
  • 打赏
  • 举报
回复
如果是调试的话控件就能及时更新,如果直接执行的话就不能更新,另外,添加后关闭对话框,再重新打开也就更新了,单步执行后,的确控件的值就是数据库中最新的值,用的ACCESS
hdg3707 2012-03-06
  • 打赏
  • 举报
回复
更新数据:
1.Edit();.//好象是这个函数,具体和你所用的操作数据库语言有关
2.赋值:
3.Refresh();//刷新数据库,就是把改变的值更新到数据库里。
或者直接用更新语句:
update ,这个语言用法忘了。
从上面的代码上看,不象是VC的事,感觉是数据库的事,你单步执行一下,看看更新值后是不是确定更到数据库里了,就是更新值后,再读出值,看看这个读出的值是不是更新后的值
sevancheng 2012-03-06
  • 打赏
  • 举报
回复
UpdateData
qq45000 2012-03-06
  • 打赏
  • 举报
回复
update(false)
tubo_true 2012-03-06
  • 打赏
  • 举报
回复
refresh

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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