请教
ADOQuery插入数据行问题。
ADOQuery中有10条数据,我想把新数据插入到10条数据的中间,比如。在1和2之间或2和3之间插入新数据。
我用insert 只能插入到最后。要插入到中间该怎么做呢
谢谢 !

解决方案 »

  1.   

    ADOQuery.insert就是插入,他插入的位置是光标定位行的前一行,append是追加到最后一行的
      

  2.   

    需要固定到某一行。
    ADOQuery.moveby(n);
      

  3.   

    ADOQuery.insert默认是插入到当前行的前一行,ADOQuery.append是在最后一行追加数据。
    虽然ADOQuery.insert默认是插入到当前行的前一行,但是ADOQuery.post之后数据就会重新排列,这里面要加入限制条件才可以实现插入在指定行。
      

  4.   


    Adoquery1.append  是增加到最後
    AdoQuery1.insert  是在光檔處新增,如果在第1條記錄後面新增,需要把數據集的指針移到第一條   adoquery1.MoveBy(1);
      adoquery1.insert;
      

  5.   

    不过绑定在DBgrid中时。显示是插入中间。可是刷新后就变成在最后一行了
      

  6.   

    那是因為的ADOQUERY設置的問題ADOQUERY的 locktype  設置為:ltBatchOptimistic 
    采用緩存更新。
    還有就是提交的時候 adoquery1.post.
     adoquery1.updateBatch();
      

  7.   

    怎么样可以怎么这样的效果呢。插入dbgrid 后..显示也在中间
      

  8.   

    应该是你的表设置了排序,正常情况下 insert 之后就应该是当前位置,取消排序试试。或者你就利用某字段排序,然后在插入时添加适当的值,好让记录能排到你需要的位置。