你说的是append
用insert就可以了,不要让dbgrid决定记录在哪里,用程序控制吧

解决方案 »

  1.   

    如果表中有主键的话,用insert也会按主键排序的
      

  2.   

    如果想焦点还在原记录上可用book!
      

  3.   

    在access里行不通的,append和insert是一样的.呵呵。。小平同志!!
      

  4.   

    var
      BM: TBookMark;
    begin
      BM := ADOQX.GetBookMark;
      //提交数据
      try
        ADOQX.GotoBookMark(BM);
      finally
        ADOQX.FreeBookMark(BM);
      end;
    end;
      

  5.   

    DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex-1;
      

  6.   

    我试了一下,发现即使用ACCESS直接操作数据库都不能实现“插入”功能,新记录仍是在最后。因此我猜测用DELPHI也难实现此功能。
    我再试试看。
    实在不行,可考虑别的解决方法。
    例如:增加一个字符型的“ID”字段,数据集ORDER BY ID。ID仅是一个辅助字段,无须显示;这样的话,当你追加一条记录时,可以通过对新记录的ID值的设置而决定它在DBGRID中的显示位置……
    上述仅是一个例子,没有什么优化思想,如果数据太多更是不可取。我的意思是,为了达到目的,你可以多处着想……