在IC卡编程的时候,往IC卡写入数据时,同时会向数据库写入数据,数据库操作失败可以使用事务回滚,则IC卡写入失败却无法处理,这样,由于意外错误可能会造成数据库与IC中的数据不一致,在这方面有没有什么比较好的解决办法?

解决方案 »

  1.   

    笨办法
    1.记录ic卡原数据
    2.try 写入新数据 exception 写入原数据
      

  2.   

    IC卡的写异常很难控制的,较早以前我是这样处理的:
    在IC卡上设置1个写成功标志位,开始写时首先将它置不0;
    然后写数据,写成功后将它置为1;
    每次都IC卡数据时,先判断上次写是不成功,成功就读数据,否则联机时重新从数据库中取数据,非联机时提示IC卡数据有错。不知能否和你的要求一致,因为我当时做的POS终端中的某些是可以实时从库中取数据的。