Foxtable(狐表)用户栏目专家坐堂 → 自定义用户登陆窗口


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

主题:自定义用户登陆窗口

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/14 8:43:00 [显示全部帖子]

1、检查这台电脑安装的程序是不是缺少什么文件。把没有问题的电脑的程序复制到这台电脑试试

2、把所有项目事件的代码发上来看看

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/14 20:24:00 [显示全部帖子]

自行调试一下,看哪里的数据不符合预期:http://www.foxtable.com/webhelp/topics/1485.htm

AfterOpenProject

'''
'数据源连接
msgbox("OpenFileargs.Count = " & OpenFileargs.Count)
msgbox("OrganizationName  = " & OrganizationName )
If OpenFileargs.Count = 0 Then
    Dim cmd22 As New SQLCommand
    Dim dt22 As DataTable
    cmd22.ConnectionName = "数据源名称"
    cmd22.CommandText = "SELECT * From {用户授权} where 单位名称 = '" & OrganizationName & "'"
    dt22 = cmd22.ExecuteReader
msgbox("dt22.DataRows.Count = " & dt22.DataRows.Count )
    If dt22.DataRows.Count > 0 Then
        Dim dr22 As DataRow = dt22.DataRows(0)
        Dim s1 As String = dr22("数据源_密码")
        Dim s2 As String = dr22("数据源_用户名")
        Dim s3 As String = dr22("数据源_数据库名称")
        Dim s4 As String = dr22("数据源_IP")
        Dim cs As String = "Provider=SQLOLEDB.1;Password=" & s1 & ";Persist Security Info=True;User ID=" & s2 & ";Initial Catalog=" & s3 & ";Data Source=" & s4
        Syscmd.Project.Open(ProjectFile,cs)
        Return
    End If
End If

'用户验证
msgbox("C数据源名称") )
Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.ConnectionName = "数据源名称"
cmd1.CommandText = "SELECT * From {机器码}"
dt1 = cmd1.ExecuteReader
msgbox("ComputerId = " & ComputerId )
Dim dr1 As DataRow = dt1.SQLFind("机器码 = '" & ComputerId & "'")
msgbox("dr1 = " & (dr1 IsNot Nothing) )
If dr1 IsNot Nothing Then
    Dim dr2 As DataRow = dt1.SQLFind("机器码 = '" & ComputerId & "' AND 授权 = 1")
msgbox("dr2 = " & (dr2 IsNot Nothing) )
    If dr2 IsNot Nothing Then
        Dim cmd2 As New SQLCommand
        Dim dt2 As DataTable
        cmd2.ConnectionName = "数据源名称"
        cmd2.CommandText = "SELECT 单位名称,产品有效期 From {用户授权}"
        dt2 = cmd2.ExecuteReader
msgbox("dr2单位名称 = " & dr2("单位名称"))
        Dim dr3 As DataRow = dt2.SQLFind("单位名称 = '" & dr2("单位名称") & "'")
msgbox("dr3 = " & (dr3 IsNot Nothing) )
        If dr3 IsNot Nothing Then
            Dim d1 As Date = Date.Today
            Dim d2 As Date = dr3("产品有效期")
            If d2 < d1 Then
                MessageBox.Show("产品已过期!")
                Syscmd.Project.Exit()
                Return
            End If
            If Syscmd.Project.Update(False,False) = True '自动升级
                Application.ReStart '大版本不能使用这个重启,会有问题的,原因参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=140043
                Return
            End If
            Forms("用户登录").Open()
            If UserName = "" Then
                Syscmd.Project.Exit()
                Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
            End If
……

 回到顶部