现在做一个软件,是一个案件处理型的,就象电信的那样,有新用户开户,变更,注销,转移等,每一个业务有业务受理,填写申请表,归档等步鄹,用户要求(我也认为)应该是对于每一个用户,每一次修改都做记录,要有原始记录可供查询,比如变更,需要记录修改了什么内容,原来的值是什么,修改为了什么等等,这些都要详细记录,而且这些修改只有在每一次业务的归档时才能生效,如果用户在中间撤消业务则对原始记录不做修改.
那位高手有一个好的思路来解决这个问题?

解决方案 »

  1.   

    你可以这样呀,把所有要执行的操作先都写到一个stringlist里,直到最后一步执行了才把它里面的内容调出来。电信的办法也不错,可是只能大不能小,机器硬盘受不了呵呵
      

  2.   

    也就是说,因为没有真正的删除和修改操作,电信的数据库容量是不断增加的,每条记录都有一个状态字段,标示该记录是否为最新(有效)的,如:
    表字段: fid,fname... flastupdatetime,fstat   ///字段
              1   aaa      16:20:52      0     //1条数据 0表示有效 1表示修改 2 表示删除
    我要修改该记录,之后的数据为:
              1   aaa      16:20:52      1    //改了状态
              2   aaa      17:24:45        0    //增加了一条数据
    而删除只是修改一条记录而已,当然你可以根据自己需要,针对该方法进行修改