偶用delphi三层+sql server2000
数据库中有表tblUser,字段为 
id INTEGER,
name VARCHAR(10),
pwd  VARCHAR(10)有一用户 kkk
如何用SQLSERVER控制,kkk用户登陆后,其他以kkk登陆的请求都被拒绝?兄弟们给个思路:)

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1499/1499335.xml?temp=.4334833
      

  2.   

    我们在中间层记录所有的登陆的用户状态,用户登陆时判断是否用户已经登陆。
     可考虑在TRemoteMoudle.Create中做。
      

  3.   

    可考虑在TRemoteMoudle.Create中做。这个方案是有困难的,因为存在公用一个接口登录的可能性,虽然,大部分不可能,考虑Com+这个方案就不可行。用户登录以后记录到数据库当中,以后检查已经登录过就拒绝。考虑一下几个情况1、用户未注销就退出,这是有可能的,比如非法退出。
      解决办法:
      a、用一个时钟,用户很长时间没有操作就踢出去
      b、同名用户连接的时候,检查一下先前同名用户是否还持续连接,用Ping或者其他的办法。2、服务器端故障,造成重起以后,数据库残余
      解决办法:
      服务器重起就清掉所有的客户在线标志。
      

  4.   

    如果你是用SOCK来做,你看看 Scktsrvr  的源码,相信对你有帮助的
      

  5.   

    建立一个LogRecord表,用户登录即记录登录用户名,
    新建方法LogionOut,当前用户退出即删除该用户的登录记录。