用户删除数据时不实际物理删除,而是加个字段做删除标识,但这样可能每个查询SQL都要加Where,我觉得是不是应该有简单的实现方案,在如类似DBHelper中数据出口中集中处理,或者通过SQL解析后期修改,谁有类似的经验说说。

解决方案 »

  1.   

    想实现伪删除
    那么在取的时候肯定是要加Where过滤的
    没有什么捷径
      

  2.   

    因为删除标记都是相同名称的字段,可否在DBHelper中解析SQl做字符处理,这是我初步的想法
      

  3.   

    这样没什么用吧  要是有其它where条件呢 
      

  4.   

    不要再提加字段的事了,我就是加字段,但我不想在每个查询中多加个where,我觉得应该有简便方法,谢谢
      

  5.   

    这个查询where我想在数据出口做统一处理,对于前端编程可以忽视这个过滤删除字段的操作
      

  6.   

    最好加个字段,state =0表示删除,1表示没被删除,所以,还是用where过滤吧!
      

  7.   


    估计你会失望吧,一般有ISDELETE这样字段的人都要WHERE的!再则不是每张表都有ISDELETE的!要不你就放一张表进来,已经删除的进入到HISTORY里边,没删除的留在业务表里!
      

  8.   


    我们做的就是每条查询都加where  你的想法好像也可以   不过在DBHelper中加逻辑 不太合理吧
      

  9.   

    数据库相对来说是最保险的方案
    如果你用DBHelper之类的内存虚拟标识,如果机器断电或者宕机怎么办?状态全部丢失?但是好一点的数据库就能避免这个问题,就是数据也挂了,也有日志可以帮助还原。不然它对不起数据库这个名字
      

  10.   

    伪删除一般都有字段标识,如state、isShow等
      

  11.   

    有这字段就肯定会有where啦
    视图不错
      

  12.   

    做个带where条件的视图
    以后select直接从视图中取,就不用加条件了