在新增一条记录保存后,马上修改再保存就会出现“无法为更新定位行。一些值可能在最后一次读取后已更改”的错误!

解决方案 »

  1.   

    你用的是ADOTABLE或者AOQUERY吧,我想你需要在修改前重新刷新一下主从表,即先close,再open。
      

  2.   

    可能是你还没有post,而又对数据集进行Modify,Insert吧
      

  3.   

    我的主表有十几万条记录,两个从表也各有数万条记录,close后在open很慢的,顺便再问个问题,程序在启动时就要花费好长时间,我把游标设在服务器端,从表在打开时就会出错:“当前程序不支持排序和过滤所必须的界面”,我又尝试异步方式启动,可是速度没有任何改变
      

  4.   

    记录多的话建议你用大型的数据库,如ORACLE,我打开一个表为十二万条记录的表只用了3秒钟,
    不明再问。
      

  5.   

    请问你用的是什么数据库
    用ADO连MS的东西是不会有问题的
    我用ADO连Oracle也出现了同样的问题
    是ADO和Oracle兼容不好
    至今未解决
    所以最好抉择一下
    选择Borland的DBExpress好像不错
    不过暂时没有支持MSAccess
      

  6.   

    有主键的!不过我已经解决,我让每个线程都拥有自己的会话,使用多个connection,就没有这个问题了,只是速度依然很慢,我用的是SQL-server,10M带宽
      

  7.   

    有主键也是不行的,在新增记录并保存后,如果再次对其修改仍然会出错!!!除非一定要重新打开数据表。这是ADO的一个大BUG???!!!(我用的是ADO+mdb),此问题令我非常头痛,尤其是使用缓存更新时(此时是不可能重新打开表的)。