一个账户多人同时登陆问题

Apple200228 2005-09-19 05:12:28
自己建立一个用户表,包含登陆编号、密码等资料
怎样不让一个用户在登陆时自动将其对应的记录做标记,表示在线,不让该账号再登陆,只有该账号离线后才能登陆。类似游戏账号,某个账号在线时,该账号在别的地方是不能登陆的,同时提示该账号正在使用中。
还有,如果该账号非正常退出服务器端也能检测离线,同时修改其账户状态。
...全文
415 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
TT老老 2005-09-21
  • 打赏
  • 举报
回复
在相关的表中添加一个字段.
Online (1 or 0 )

Mrc=Select * From Login where User=User and Password=password and Online=0

if Mrc=1 then
登陆成功
update Login Set online=1 Where User=User
Else
已经登陆
End if
最后在用户退出是
update Login Set online=0 Where User=User


Apple200228 2005-09-21
  • 打赏
  • 举报
回复
怎么没有人回答的沾边啊,我怎么结贴给分啊?
乱给分是不是有倒分的嫌疑?
MorningTea 2005-09-20
  • 打赏
  • 举报
回复
这个似乎用资料库来记录不是一个好方法,因为借助前台,因为用户端掉连接数据库,不代表我下线,我可以浏览资料呀!
老本 2005-09-20
  • 打赏
  • 举报
回复
对Session进行控制啊!
Apple200228 2005-09-20
  • 打赏
  • 举报
回复
楼上的两位好像没有明白什么意思,
不过谢谢你们,我已经找到方法了。
xueguang 2005-09-19
  • 打赏
  • 举报
回复
--写个简单的处理
if exists (select 1 from 表 where 登录编号='登录编号' and 状态 not in('在线','离线')) begin
update 表 set 状态='离线' where 登录编号='登录编号'
end
if exists (select 1 from 表 where 登录编号='登录编号' and 状态='在线') begin
print '该用户已登录'
end
else begin
update 表 set 状态='在线' where 登录编号='登录编号'
print '登录成功'
end
churchatp1 2005-09-19
  • 打赏
  • 举报
回复
加一个字段,登陆时检测该字段,如果这个字段为1表示已经登陆,则不能登陆
如果为0则可以登入。

可以定时发信号给帐号,如果没有回音,则表示非正常推出,把字段改成0

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧