连接方式dbgrideh -> dataset,dataset -> memtableeh,memtableeh -> datasetDriver,datasetDriver -> adoquery,
现在滚动的问题是解决了,可编辑、删除都不行,表面看dbgrideh里边的数据是变化了,回头打开还是老样,查看了数据库,数据也没有变化,用的是access。
删除记录是这样的dbgrideh.SelectedRows.Delete,问题出在哪儿呢?

解决方案 »

  1.   

    你这应该涉及到了缓存更新,memtable应该是放到内存了
    直接用adoconnection,adoquery,datasource,dbgrideh即可即时操作数据库
      

  2.   

    不用memtable,在滚动滚动条的时候,活动记录acitve record也会跟着走的。
    memtable有个CacheUpdates,我都设置为False了
      

  3.   


    memtableeh.edit;
    ...修改记录
    memtableeh.post;
      

  4.   


    如果是删除,就得用
    memtableeh.Delete;
    memtableeh.Post;
    了?试过了,不行。另外,你这个代码之后,应该要用个ApplyUpdates(-1);
      

  5.   

    http://blog.csdn.net/delphi_911/archive/2011/05/05/6396102.aspx