我有一个纪录集,一个dbgrid,在dbgrid中可以修改数据,但是修改后的结果要经过按钮来确认,例如,'取消修改','确认修改'按钮.取消修改就是不写入数据,而确认修改则是写入数据,我想这样做,在dbgrid的cellclick事件里,把纪录定位,导出,当点击取消修改时,纪录就照原样写回去,当点击确认修改时,就把修改的纪录写入,可是怎么实现呢?这样做合不合理?请各位赐教.

解决方案 »

  1.   

    你的这个问题可以用事务来解决。
    如果你用的是ado连接。将adoquery or adotable连接到 adoconnection, adoconnection连接上数据源。 在添加按钮里点击增加的时候adoconnection.Beginstran;
    adoquery1.append;取消按钮的时候就用。
    adoconnection.rollback;//回滚事务,什么事都没有做,保证数据的完整提交数据。
    adoquery1.post;
    adoconnection.commit;
      

  2.   

    to My_first(海浪) 
    我用的不是ado,只是普通的table,datasource,dbgrid,这样子难道不可以处理么?
    是不是updatesql可以解决这个问题?