请问TQqury的属性requestlive和cachedupdates的区别和分别作用,在那种情况下适用其中的那一种?

解决方案 »

  1.   

    requestlive :该属性要求一个SELECT查询从数据库后台返回一个可修改或者只读的记录集.cachedupdates; 是从类tbdedataset派生的属性.如果激活,则对一个数据集的更新保存在缓存中,不直接写入到数据库的底层数据库表中,修改完成时,应用程序将缓存的变化写入数据库的单一事务处理内容中.
      

  2.   

    Requestlive的意思就是"是否可编辑", =False就代表不可编辑
    CachedUpdates的意思是所有更改暂存在Cache Buffer而不直接写到数据库,因此要经由ApplyUpdate将cachebuffer之内容写入数据库requestlive=True,  cachedupdates=False--query1.post时直接写入数据库
    requestlive=True,  cachedupdates=True--query1.post时写入Buffer
                                                  Applyupdate时写入数据库
    requestlive=False,  cachedupdates=False--不可编辑
    requestlive=False,  cachedupdates=True--query1.post时写入Buffer
                                      可用TUpdateSql组件写入数据库