使用OleDbConnection链接到一个Access数据库,使用OleDbDataAdapter Fill一个表,然后显示在一个DataGrid控件中,如果在from load时打开数据库连接,form close时再关闭连接,程序运行中始终保持连接打开,在程序运行期间如果使用Access打开数据库,将表的一条记录的一个字段的内容改动,然后马上回到程序中按"Fill"按钮,调用OleDbDataAdapter Fill方法查询数据,结果会得到以前没修改的数据,等几秒后在查询,就会得到改后的数据,这是不是ADO.NET的一个重大缺陷啊,不信可以自己试试.

解决方案 »

  1.   

    不管ADO.NET的事情,你虽然更改了表的内容,可是里边的内容并没有保存,你点保存了么?没有吧,这个时候,fill,当然是没更改的内容了,access和word默认隔几分钟自动保存一下,所以,更改的内容会被加进去的,这就是你呆一会儿就会得到修改后的数据了以后别没事,老瞎猜ADONET会有什么BUG
      

  2.   

    C#都这么多年了,没听说有这么严重的bug啊
      

  3.   

    ADO.NET的重大缺陷  肯定有缺陷,但这个不是。
      

  4.   

    谢谢,只是请教一个问题,不用这么认真.haha