一个棘手的问题,高手请进,若问题解决,另有高分相送

时间:2022-02-17 21:26:27
如何捕捉到客户点击浏览器的【后退】或者【前进】的事件。
我现在碰到一个问题,就是对于一条记录,有多个人可以对其进入修改,现在我要限定在同一个时间内,只能有一个人对其进行修改,我的处理方法是当一个人进入修改时,将该条记录“锁定”(该表有一个标志字段,将置为真),然后在保存和取消事件中,将该条记录“解锁”;这样的话有人进行修改时其他人将不能进入修改,直到那个人保存或者取消为止。
现在出现一个问题,当一个人进入修改时,不想保存时按的时浏览器的后退按钮,或者直接把浏览器关掉,而不是点击我事先设好的取消按钮,这样的话我就没办法知道他打开的记录是还在修改,还是已经退出,所以无法判断是否将该记录“解锁”,请问各位大侠有没有办法捕捉【后退】、【前进】按钮的消息,或者说离开当前页面的消息。

6 个解决方案

#1


捕获unload吧,发生该事件时锁定

#2


加锁和解锁的事留给数据库去干吧,asp自己也行,而且还可以进行数据回滚,不用去捕捉【后退】或者【前进】的事件了

#3


谢谢,问题解决后,还会给你另外加分
unload可以捕捉离开当前页面的消息,但是如何判断是点击保存按钮离开该页面还是点击后退按钮离开该页面了?

#4


头晕!asp可以解决的问题为什么还要用解锁
rs.Open sql, conn, adOpenKeyset, adLockPessimistic, adCmdText

#5


rs.Open sql, conn, adOpenKeyset, adLockPessimistic, adCmdText 
其中adLockPessimistic:当数据源正在更新时,系统暂时不允许其他人更新此记录

#6


笑话,adLockPessimistic参数的设定能够限制在第二个人进入修改的时候提示谁正在使用该记录吗。

#1


捕获unload吧,发生该事件时锁定

#2


加锁和解锁的事留给数据库去干吧,asp自己也行,而且还可以进行数据回滚,不用去捕捉【后退】或者【前进】的事件了

#3


谢谢,问题解决后,还会给你另外加分
unload可以捕捉离开当前页面的消息,但是如何判断是点击保存按钮离开该页面还是点击后退按钮离开该页面了?

#4


头晕!asp可以解决的问题为什么还要用解锁
rs.Open sql, conn, adOpenKeyset, adLockPessimistic, adCmdText

#5


rs.Open sql, conn, adOpenKeyset, adLockPessimistic, adCmdText 
其中adLockPessimistic:当数据源正在更新时,系统暂时不允许其他人更新此记录

#6


笑话,adLockPessimistic参数的设定能够限制在第二个人进入修改的时候提示谁正在使用该记录吗。