首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

解决后台用户闭置太久,该怎么解决

2012-03-21 
解决后台用户闭置太久SQL2000+DELPHI的数据库系统,如何让上线用户在闭置一定时间后自动退出数据库系统?应

解决后台用户闭置太久
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 事件。

热点排行