我是用TADOConnection连接数据库的
但我改动了TDBGRID的内容,它就不问有没必要就保存了
我的目的希望是能够在TFORM关闭的时候先探测数据是否改动,然后再决定
请问怎么写

解决方案 »

  1.   

    在 formclose 事件里 先对窗控件调用判断是否改动的过程,再对结果判断是否保存!是 就保存。否  不进行保存。
      

  2.   

    TDBGRID是数据库绑定控件,当前行位置改变肯定要自动存盘,可以在dateset控件的beforepost事件中加以控制。
      

  3.   

    miszyf(miszyf) 说的办法值得一试,但我认为写在afterpost事件中要好些;
      

  4.   

    //设为缓存更新模式
    adodataset1.locktype:=ltbatchoptimistic;
    这样修改Dbgrid1中的数据时不会自动更新记录。//保存
    adodataset1.updatebatch(arall);//取消操作
    adodataset1.cancelbatch(arall);//判断数据是否改变
    if adodataset1.state in [dsedit,dsinsert] then
    if messagebox(handle,'记录已改变,是否保存?','是否保存数据',
    mb_okcancel+mb_iconquestion)=id_ok then
      btnsave.click    //保存
    else
      adodataset1.cancel;
    adodataset1.next;