Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

防止同一用户重复登录的解决办法(SQL Server)代码使用不了。

布鲁斯  发表于:2014-03-17 10:06:24  
复制

背景:我想实现这个功能,但是在引用红尘如烟老师的http://www.accessoft.com/article-show.asp?id=5001方法时候不能正常执行


过程:将对应的服务器IP,名称,密码更改后,点击按钮总会通过,并没有实现禁止重复功能。

        我也按文章下方回复的方法:注释掉cnn.close。但问题仍然存在


发现:我debug出来一些位置,发现在IsLogged(UserID As String)方法中

        1;    rst.recordcount         -1

        2;    rst!ID                    是 null


求解惑?


 

Top
在水一方 发表于:2014-03-19 17:54:26
我在oracle是这样操作的,用户登录表加“登录时间”和“刷新时间”字段,登录时更新“登录时间”和“刷新时间为服务器当前时间退出时更新“登录时间”和“刷新时间为空。每10分钟更新一下“刷新时间”为服务器时间。这样可以判断用户是否已经登录,而且利用“刷新时间”超过10分钟来判断用户没有正确登出。

赵文斌 发表于:2014-03-20 11:02:01
Function IsLogged(userid As String) As Boolean
'判断指定用户是否登录,已登录返回True
  
    Set CNE = CreateObject("ADODB.Connection")
    CNE.ConnectionString = xta
    CNE.open
    Set YYE = CNE.Execute("Select OBJECT_ID('##LoggedUser" & userid & "') AS ID")
    If Not IsNull(YYE!id) Then IsLogged = True
    YYE.Close
    CNE.Close
End Function


布鲁斯 发表于:2014-03-21 11:09:49

1楼的方法值得借鉴

2楼的方法有点高深啊,能否给得全面的代码?



总记录:3篇  页次:1/1 9 1 :