哪位高人帮忙解决一下。With table1 do
begin
  insert;
  //......
  Post;
end;
另一 procedure 中:with table1 do
begin
  Edit;
  //......
  Post;
end;发现只要是针对刚刚插入的新记录进行修改的话,即出错。
Row cannot be located for updating, Some values may have been changed since it was last read.

解决方案 »

  1.   

    insert后稍微delay一下再edit,试试看
      

  2.   

    但是发现到只要是对新插入的记录进行edit操作时就出这个错,而其他记录就没有问题。而中间省略的也只有一句:FieldByName('name').AsString := Edit5.Text;
      

  3.   

    我好像碰到过这样的问题,原因好像是当前的记录跟你保存的记录对不上了。
    你重新定位一下这条记录看看。
    比如用dataset.last
      

  4.   

    Table1.Refresh;
    在提交数据后用下refresh方法试试,然后在修改
      

  5.   

    呵呵,没用,CSDN的达人都哪去了?
      

  6.   

    建议每次操作前先关闭一下Table
      

  7.   

    连续改变Active的值几次,打开关闭 Table几次,这样愚蠢的办法是可以达到目的的,你试试看!~
      

  8.   

    回复人: chwdong(chwdong) ( ) 信誉:100  2005-6-21 8:44:07  得分: 0  
     
    如果代码只是这些的话是没有问题的。同意!  
     
      

  9.   

    我通过BDE和ADO都测试过,没有问题,但是你的错误提示是还没有把插入的记录更新进库!无法定位到该行进行修改!