Foxtable(狐表)用户栏目专家坐堂 → 车辆管理数据库(带串口的)的一个功能问题


  共有10350人关注过本帖树形打印复制链接

主题:车辆管理数据库(带串口的)的一个功能问题

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/17 8:10:00 [显示全部帖子]

如果每张卡都有ID,那么每次刷卡记录一下刷卡时间,并检测最近一次刷卡的时间,如果没有超过20分钟,就给出提示,并拒绝登记本次刷卡。

关于如何找出最后一次刷卡的数据,可以看看:

http://www.foxtable.com/help/topics/0396.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/17 8:22:00 [显示全部帖子]

呵呵,老朱的代码有不足,你这样的话,20分钟内只能刷一张卡,而不是一张卡20分钟内只能刷一次。
 
比较合理的大概如此:

Dim id As String = “本次刷卡获得的ID”
dr = DataTables("xxx").Find("卡ID = '" & Id & “'", "刷卡时间 Desc") '找出最后一次订购PD01产品的记录
if dr IsNot Nothing Then
        Dim dt As Date = dr("刷卡时间")
        if (Date.Now - dt) .TotalSeconds < 20 Then
            MessageBox.Show("一张卡20分钟内只能刷一次")
            Return
        End If
End f
dr = DataTables("xxx").AddNew
dr("卡ID") =ID
dr("刷卡时间") = Date.Now
[此贴子已经被作者于2012-7-17 8:22:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/17 9:20:00 [显示全部帖子]

嗯,如果几台电脑的话,只能用sql判断的了。

不过也可以刷卡前AppendLoad一下这个用户的最新数据。


 回到顶部