copyquery:=TADOQuery.Create(nil);
    with copyquery do
    begin
      Connection:=DmBase.ADOCnXXF;
      sql.Add('select max(f_sendno) as sendno from sendmain');
      open;
      maxsendno:=trim(fieldbyname('sendno').AsString);
      close;
      sql.Clear;
      sql.Add('select top 0 * from sendmain');
      open;
    end;
    detquery:=TADOQuery.Create(nil);
    with detquery do
    begin
      Connection:=DmBase.AdoCnMaster;
    end;
    detcopyquery:=TADOQuery.Create(nil);
    with detcopyquery do
    begin
      Connection:=DmBase.ADOCnXXF;
      sql.Add('select top 0 * from senddet');
      open;
    end;
    squery:=TADOQuery.Create(nil);
    with squery do
    begin
      Connection:=DmBase.AdoCnMaster;
      sql.Add('select * from sendmain where f_sendno>='''+edit1.Text+''' and f_sendno<='''+edit2.Text+'''');
      open;
      for i:=1 to RecordCount do
      begin
        scdh(maxsendno,1);
        maxsendno:=scdh(maxsendno,1);
        copyquery.Append;
        for j:=0 to FieldCount-1 do
          if (Fields[j].FieldName<>'F_SENDNO') and (Fields[j].FieldName<>'F_DATE') then
            copyquery.FieldByName(Fields[j].FieldName).Value:=Fields[j].Value
          else if Fields[j].FieldName='F_SENDNO' then
            copyquery.FieldByName(Fields[j].FieldName).Value:=maxsendno
          else
            copyquery.FieldByName(Fields[j].FieldName).Value:=FormatDateTime('yyyy/mm/dd',date);
        copyquery.Post;
        sendno:=fieldbyname('f_sendno').AsString;
        detquery.Close;
        detquery.SQL.Clear;
        detquery.SQL.Add('select * from senddet where f_sendno='''+sendno+'''');
        detquery.Open;
        for k:=0 to detquery.RecordCount-1 do
        begin
          detcopyquery.Append;
          for l:=0 to detquery.FieldCount-1 do
            if detquery.Fields[l].FieldName<>'F_SENDNO' Then
              detcopyquery.FieldByName(detquery.Fields[l].FieldName).Value:=detquery.Fields[l].Value
            else
              detcopyquery.FieldByName('F_SENDNO').AsString:=maxsendno;
          detcopyquery.Post;
          detquery.Next;
        end;
        Next;
      end;
    end;
程序主要是從一個庫中複製一個主從表的記錄到另外一個庫中,在複製從表時有時會在detcopyquery.Post;這句出現Row cannot be located for updating.  Some values may have been changed since it was last read.這個錯誤。水平有限不知道爲何在這裡會出現這個錯誤,希望大家幫忙下,謝了!請高手分析下原因,以及如何解決。