解决后台用户闭置太久
SQL2000+DELPHI的数据库系统,如何让上线用户在闭置一定时间后自动退出数据库系统?应该怎么来实现,有什么好的方法.请各位大侠不吝赐教.谢谢!!!
[解决办法]
- Delphi(Pascal) code
function StopTime: integer; //返回没有键盘和鼠标事件的时间var LInput: TLastInputInfo;begin LInput.cbSize := SizeOf(TLastInputInfo); GetLastInputInfo(LInput); Result := (GetTickCount() - LInput.dwTime) div 1000; // 微妙换成秒end;procedure TForm1.Timer1Timer(Sender: TObject); // Timer 事件beginif StopTime >= 60 then Showmessage('用户已经1分钟没有动键盘鼠标了!'); //这里退系统end;
[解决办法]
友情帮顶
[解决办法]
为每个用户记录最后一次操作的时间,每次新操作来,先判断上一次操作的时间是否离现在太久
是则要求重新登录,否则予以放行执行
[解决办法]
也可以改成每次数据库操作连接一次,用完断开
但最好是多层结构
[解决办法]
1楼的方法不错
[解决办法]
[解决办法]
4楼的方法可行
1楼的方法有一定局限性。就是用户的闲置并非意味着鼠标、键盘闲置
[解决办法]
可以这样做:用一个timer组件,当操作ADO的时候也就是执行了ADO。ExecuteComplete时就启动timer,当达到规定时间时就断开,没有达到一定时间又操作了,那timer再清零
[解决办法]
delphi有个 ApplicationEvents 控件,控件有个 OnIdle 事件。