我做的一个统计程序,输入数后要进行累加,并放到数据库中,然后输出结果,可为什么每次打开程序后的第一次添加后都不会自动刷新,而第二次添加之后显示的是第一次添加后的结果,程序是在点击添加按钮后先从数据库中读出数据,累加,更新数据库,再读取数据库中的内容显示到控件中
vSQL="select * from table1 where ID=1";
ListRecordset(vSQL);
UpdateData(false);
this->Invalidate();
this->UpdateWindow();
可这样还是不行

解决方案 »

  1.   

    更新数据:
    1.Edit();.//好象是这个函数,具体和你所用的操作数据库语言有关
    2.赋值:
    3.Refresh();//刷新数据库,就是把改变的值更新到数据库里。
    或者直接用更新语句:
    update ,这个语言用法忘了。
    从上面的代码上看,不象是VC的事,感觉是数据库的事,你单步执行一下,看看更新值后是不是确定更到数据库里了,就是更新值后,再读出值,看看这个读出的值是不是更新后的值
      

  2.   

    如果是调试的话控件就能及时更新,如果直接执行的话就不能更新,另外,添加后关闭对话框,再重新打开也就更新了,单步执行后,的确控件的值就是数据库中最新的值,用的ACCESS
      

  3.   

    UpdateData(false);
    this->Invalidate();
    去掉试试。
      

  4.   

    这么做根本就不会更新,去掉UpdateData(false)变量的值不会传给控件啊
      

  5.   

    换了个思路,把累加结果先传递给控件,在添加到数据库里边,这样就行
    而且发现this->Invalidate();this->UpdateWindow();这两个函数在这里是没有起作用的