据说AdoQuery中的append是在最后添加一条记录。
那Insert应该是在当前位置插入一条记录
那为什么Q.RecNo:=1;
//Q.First;
Q.InsertRecord(['所有人'])
都不行呢?都是添加到最后了。

解决方案 »

  1.   

    你怎么知道是添加到最后了呢?
    一行数据的显示位置取决于以下几个因素:
    1.物理表中的实际位置
    2.查询或显示时的排序方法(取决于SQL语句)
    3.显示控件的排序方法(取决于显示控件,比如Dbgrid或DBGridEh等的本身的排序)
    如果你仅仅是从显示控件上看到添加到了最后,那也不能说明当时的插入位置就是最后一条的位置。
      

  2.   

    同意,显示出来的是重新排序过的,SQL也有自己的物理排序
      

  3.   

    这问题问后就后悔了,白问了。
    adoquery设为缓存模式(不真正添加到数据中,只做一个下拉框,让用户做为一个查询条件)
    我现在是先append,再用sort可以实现了。