各位大侠。小弟有个问题请教。
一用户在对数据库修改数据的时候,每次修改的时候,数据库一字段flag赋值为1.为了防止其他用户修改该项数据。然后修改完了,该字段就修改回来为0,那么这时其他用户就可以修改了。
但有新的问题就是如果程序在这时候出现异常,那么该字段就永远为0.有什么方式可以让该数据库字段出现异常或是突然被结束任务之后,还可以还原到原来的值呢?

解决方案 »

  1.   

    通过程序的session控制
    1。在用户登录时,把该用户session.sessionid的值写入到数据库。
    2。如果正常退出时把在线标志改掉,然后抹去这个SESSIONID值。
    3。 当非正常退出时,超时后会触发session.onend事件。通过这个SESSIONID号把用户表里面的在线标志改掉,再抹去这个SESSIONID的值就行了。