环境:Delphi5+Oracle8i+win2kp;
代码:
     with Query4 do
     begin
       Close;
       Params[0].AsString := ComboBox2.Text ;
       Params[1].AsInteger := shipbox2.X_POS ;
       Params[2].AsInteger := shipbox2.Y_POS ;
       Prepare ;
       Open;
       First;
       for i:=0 to Query4.RecordCount-1 do
         if FieldByName('Z_POS').AsInteger <> AlexHexMap3.HexRows          then next
         else break;
       Delete ;
       First ;
       position := CreatePos(Query2, AlexHexMap4.HexRows, false);
       Append;
       FieldByName ('POSITION').AsString := position;
       FieldByName ('REGION').AsString := ComboBox3.Text ;
       FieldByName ('X_POS').AsInteger := shipbox4.X_POS ;
       FieldByName ('Y_POS').AsInteger := shipbox4.Y_POS ;
       FieldByName ('Z_POS').AsInteger := AlexHexMap4.HexRows ;
       Post ;
       close;
     end;
错误信息:Could not perform the edit because another user changed the record.朋友说是BDE的Bug, 不知是否, 该如何解决呢?