小弟我在做对一个ACCESS数据库操作时,对数据进行更新,而却不能直接显示出更新的结果,返而在执行一次时才出现,也就是说必须多执行一次才能显示出数据库中的更新结果.比如:
 
ACCESS 中有数据 A = 1,B = 2,C = 3
我第一次更新为 A= 4,B = 2,C = 3并且数据库中己更改了.
但是显示的还是 A = 1,B = 2,C = 3
第二次更新 A = 1,B = 5,C = 3
这里显示 A= 4,B = 2,C = 3这里的是第一次更新的结果.为什么呢??小弟谢过了!

解决方案 »

  1.   

    当我加上断点运行时却一切正常,我怀疑是不是Winform有延时。还是我什么用法不对。
      

  2.   

    你第一次更新后,要显示数据结果的程序有没更新,重新获取数据源啊?
    你显示更新结果的触发事件是用的按钮还是其他什么事件?
    有些事件是在触发前执行,有些是触发后执行,看看和这个有没关系?
    另外你第一次更新数据库时,是不是ACESS数据库对应的表被锁定了?。
    具体的我也不太清楚,不知道你怎么实现的,你在测试对比数据时,可以结合数据库的实际值看看,每次更新
    确认PC程序的同时,也看看数据库是不是同步更新了。
      

  3.   

    在更新之后有没有 “控件名称".DataBind()?
      

  4.   

    我确定数据库在我第一次更新的时候却时被更新了。
    而ComBox和Listbox中的数据没有显示出来。
    等我再次更新一次时就显示出来了,但是最后一次的更新却显示不出来。
      

  5.   

    我要是加上个Threat.sleep(XXXX)有时会正常。
      

  6.   

    支持
    在后面再加上application.Doevent
    再加上“控件名”.refresh();
    再加上“控件名”.update();
    我就不信不更新
      

  7.   

    我一直都存在这样的问题,就是不知道该如何解决,程序运行都没问题,就是数据显示不出来,我在要显示数据的代码前加个Thread.sleep(XXXXX);就可以显示出来了,不知道是我的原因还是程序的原因。