为什么
Query1.clear;
Query1.Sql.add('insert into 表名(***,***) values("***","***")')
Query1.repare;
Query1.ExecSQL;
执行完后,这条记录为什么总是会位于最后面去了?

解决方案 »

  1.   

    大哥,你一定数据库学的不好。本来就在后面,我记得好像FOXBASE好像在当前行。
      

  2.   

    FOXBASE这样的桌面型数据库,对于记录所在的物理位置比较在意,还有专门的到行号的函数RecN(),而现在的数据库,对于物理位置已经不在意了,换句话说,一条记录所在的物理位置根本不重要,没有必要管它在前还是在后。
    而且,SQL里的INSERT,不要把它理解为“插入”,理解为“追加”比较好,因为物理位置并不重要,所以INSERT语句的执行结果就是把记录添加在目的表的尾巴上......
      

  3.   

    這不一定阿,要看你的table 中的index 是怎麼樣的了,同時你要刷新table 喔
      

  4.   

    我记得VFp里面是有个Insert能将数据插到指定位置,但
    Insert Into是标准的SQL语句,他的插入规则一般是根据Key来排序的。