小弟在一软件中用ADO来连接一ACCESS数据库。
同时小弟在软件中利用DBCtrlGrid以及一些DBText和DBLabel之类的控件来显示数据库中相应的字段。
可是现在小弟遇到了一件非常非常龟毛的事情,那就是每当我新新建一条记录,然后紧接着试图修改该记录中的一个字段的值时,就会提示:Row cannot be located for updating. Some values may have been changed since it was last read.
而且此时就连想修改别的记录也会出现该错误,但是修改以前新建的记录或是新建记录后从新启动软件再修改就不会出错,这是怎么一回事啊!
希望大虾们都指点小弟一下如何才能避免这样的错误!

解决方案 »

  1.   

    通常都是ADO没打补丁造成的,先打上DELPHI的补丁,可到www.borland.com.cn下载
      

  2.   

    新增记录后需要更新数据:
    ADOtable1.UpdateBatch();
      

  3.   

    To 楼上
    我一开始也是以为要更新数据,可是更新后照错!
    cg1120大哥能不能把具体的补丁下载地址贴出来啊,我找半天没找到!
      

  4.   

    1,你的数据库有没有加索引,
    2、你是不是DBCtrlGrid以及一些DBText和DBLabel同时用于一条记录。
      

  5.   

    有没有可能忘记update或者commit?
      

  6.   

    To 青蛙
    是啊。
    我在DBCtrlGrid上面放一些DBText和DBLabel用来显示诸如姓名、性别等字段。
    大虾帮帮俺吧!
      

  7.   

    http://www.patch99.com/download/type.asp?page=13
      

  8.   

    看看以下网址有没有:WWW.PLAYICQ.COM
    WWW.51DELPHI.COM
      

  9.   

    索引的问题!
    启动Access,打开你的数据库文件,指定一个字段作为主键。
      

  10.   

    我以经开始下了,是Delphi 6的Update2,我没看到D6的ADO升级,只看到这个!
      

  11.   

    好象Borland建议用户不要使用Update1升级包。
      

  12.   

    这个是通常都是ADO没打补丁造成的,请下载补丁