Foxtable(狐表)用户栏目专家坐堂 → 如何限制使用时间?


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

主题:如何限制使用时间?

帅哥哟,离线,有人找我吗?
初心不改再说未来
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
如何限制使用时间?  发帖心情 Post By:2022/5/19 13:15:00 [只看该作者]

4、最后将项目的AfterOpenProject事件设为:

Dim n As Integer = GetConfigValue("Count",1)
Dim
 Code As String = GetConfigValue("Register" & ComputerId,"")
Dim
 Ok As Boolean
If
 Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确
    OK = 
True
Else
    If
 n > 30 Then
        Forms(
"注册").Open()
        Code = GetConfigValue(
"Register" & ComputerId,"")
        If
 Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确
            OK = 
True
        End
 If
    End
 If
    If
 n > 60 AndAlso Ok = False Then
        Messagebox.Show(
"您正在使用的产品已经超出试用次数!")
        Syscmd.Project.
Exit()
    End
 If
End
 If
n = n + 
1
SaveConfigValue(
"Count",n)



老师我们的用户表里有一列是到期时间,如果想在用户登录的时候根据外部表user的时间列来判断到期时间,如果到期了就提示到期然后禁止登录,上面的代码应该怎么改啊


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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 14:10:00 [只看该作者]

和上面的代码没有任何关系。

在登录窗口,确定按钮里,根据录入的用户名查询user表,获取到期时间,然后和当前时间进行比较

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2022/5/19 17:30:00 [只看该作者]

登录按钮:

Dim cmd As New SQLCommand
Dim
 dt1 As Date
cmd.Conne ctionName = 
"ddd"
cmd.Comm andText = 
"Select GetDate()"
dt1 = cmd.Execu teScalar()
dt1 = dt.
Date

cmd.Comm andText = "Select dt1 Fr om {Users} Where [daoqi_time] = '" & time & "'"
dt = cmd.ExecuteReader
If time <> dt1 = 0 Then
    Messagebox.show("过期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
e.Form.Close()


这样写好像不对老师。。。怎么根据录入的用户名查询user表,获取到期时间,然后和当前时间进行比较哇。。。。好复杂。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 17:41:00 [只看该作者]

根据用户名,获取和这个用户的记录

cmd.Comm andText = "Select * Fr om {Users} Where [用户名] = '张三'"
dt = cmd.ExecuteReader
If dt.datarow(0)(“过期日期”) < dt1 = 0 Then
    Messagebox.show("过期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2022/5/19 20:18:00 [只看该作者]

报错,说
图片点击可在新窗口打开查看此主题相关图片如下:9999.png
图片点击可在新窗口打开查看


代码:

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
Dim dt1 As Date

cmd.C
cmd.CommandText = "Select GetDate()"
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.CommandText = "Select * Fro m {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
dt = dt.Date

If dt.DataRow(0)("Endtime") < dt  Then
    Messagebox.show("过期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If


If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = dt.DataRows(0)
If e.Fo rm.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 20:33:00 [只看该作者]

Dim cmd As New SQLCommand
Dim
 dt1 As Date
cmd.Conne ctionName = 
"ddd"
cmd.Comm andText = 
"Select GetDate()"
dt1 = cmd.Execu teScalar()

cmd.CommandText = "Select * Fro m {Users} Where [Name] = '" & UserName & "'"
Dim dt As DataTable = cmd.ExecuteReader
If dt.DataRow(0)("Endtime") < dt1  Then
    Messagebox.show("过期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Close
Return
End If

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2022/5/19 21:20:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:8888888.png
图片点击可在新窗口打开查看




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 21:27:00 [只看该作者]

If dt.DataRows(0)("Endtime") < dt1  Then

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2022/5/19 22:34:00 [只看该作者]

这又咋啦~~~~

图片点击可在新窗口打开查看

If _UserGroup = "普通用户" Then
    For Each dta As DataTable In DataTables
        dta.AllowClipBoard = False
        dta.AllowEdit = False
    Next
End If



Dim cmd As New SQLCommand
Dim dt1 As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt1 = cmd.ExecuteScalar()

cmd.CommandText = "Select * Fro m {Users} Where [Name] = '" & UserName & "'"
Dim dt As DataTable = cmd.ExecuteReader
If dt.DataRows(0)("Endtime") < dt1  Then
    Messagebox.show("过期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Form.Close
    Return
    
    
    
End If
[此贴子已经被作者于2022/5/19 22:37:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 22:40:00 [只看该作者]

没有 这个用户。判断一下查询的表格是否有数据

 回到顶部
总数 21 1 2 3 下一页