我在SQL2000建立了3个表,并建立了一个视图连接了这3个表,我想在DBgrid中直接修改,这个视图中有几个是计算字段,我想修改后直接改变计算字段,我用adotable.close;
adotable.open;
来更新数据显示,但发现了一个问题:更新后记录就跳到了第一条记录。问题如下:
如何使表格更新后数据还停留在原来位置?

解决方案 »

  1.   

    adotable.open;
    OPEN后记录定位到第一条
      

  2.   

    记录此记录我关键值,更新,再FindFirst
      

  3.   

    记录此记录我关键值,更新,再FindFirst
      

  4.   

    就是用book,你也可以自己用一个数器实现
      

  5.   

    表里应该有流水号或者编号一类的字段吧?
    先把它保存到一个变量中,
    然后open的时候用locate函数进行定位,
    不是很麻烦吧?
    呵呵!
      

  6.   

    如果你的记录集没有排序的话可以用BOOKMARK
    var
    b:tbook;//声明一个book变量b:=adoquery1.getbook;
    .....刷新你的数据集,然后记录到了第一条
    adoquery1.gotobook(b);
      

  7.   

    先close再open,当然是到第一条记录了。看样子只有定位到那条记录了