Foxtable(狐表)用户栏目专家坐堂 → [求助] 项目无法打开


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

主题:[求助] 项目无法打开

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 项目无法打开  发帖心情 Post By:2014/11/19 14:51:00 [显示全部帖子]

1、我在项目的全局代码中写有下图内容;2、我在登录窗口的登录按钮写有以下命令;3、如果我在登录按钮中写有 红色 部分命令,项目就无法打开、如果把它删掉就能打开。请问是什么原因?



图片点击可在新窗口打开查看此主题相关图片如下:360截图20141119143920593.jpg
图片点击可在新窗口打开查看


Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
Dim fr As DataRow = DataTables("users").SQLFind("Name = '" & userName & "'")
cmd.C
If UserName = ""  Then
    Messagebox.show("请输入用户名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

If Date.Today > fr("停用日期") Then
    
    Messagebox.show("当前用户使用该系统的期限已经过期,请与管理员联系","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    'Syscmd.Project.Exit() '正常退出飞狐
    Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
Else
    
    dr = dt.DataRows(0)
    If e.Form.Controls("PassWord").Value = dr("Password") Then
        _UserName = UserName
        _UserGroup = dr("Group")
        _User维护权限 = dr("维护权限")
        _User分公司 = dr("分公司")
        
        e.Form.Close
    Else
        Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
    
    
    
End If



If User.Type = UserTypeEnum.Developer AndAlso User.Type = UserTypeEnum.Administrator AndAlso _UserGroup = "特级管理员" Then
    
    ConfigBar.Items("开发按钮").Visible =  True
    ConfigBar.Items("切换分公司").Visible =  True
    RibbonTabs("技术资料").visible = True
    RibbonTabs("专项工作").visible = True
    RibbonTabs("材料管理").visible = True
    RibbonTabs("日常工作").visible = True
    
    RibbonTabs("台帐管理").Groups("电源台帐").Items("电源台帐").Visible = True
    RibbonTabs("台帐管理").Groups("互联网台帐").Items("互联网台帐").Visible = True
    
    
Else
    
    ConfigBar.Items("开发按钮").Visible = False
    ConfigBar.Items("切换分公司").Visible = False
    RibbonTabs("技术资料").visible = False
    RibbonTabs("专项工作").visible = False
    RibbonTabs("材料管理").visible = False
    RibbonTabs("日常工作").visible = False
    
    RibbonTabs("台帐管理").Groups("电源台帐").Items("电源台帐").Visible = False
    RibbonTabs("台帐管理").Groups("互联网台帐").Items("互联网台帐").Visible = False
    
End If

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 15:12:00 [显示全部帖子]

知道啦,是RibbonTabs("日常工作").visible = False写错了、应该是  RibbonTabs("日常管理").visible = False

另外:
由于“OLT设备用户端口数据表”和“Itellin用户数据表”数据量比较大;在打开项目是会影响打开速度;我想在打开项目时先不加载这两个表;所以在项目的BeforeLoadOuterTable属性中写有以下命令,


If e.DataTableName = "OLT设备用户端口数据表" Then
    e.SelectString = "Select * From {OLT设备用户端口数据表} Where [_Identify] Is Null"
End If

If e.DataTableName = "Itellin用户数据表" Then
    e.SelectString = "Select * From {Itellin用户数据表} Where [_Identify] Is Null"
End If

可是登录后还是看到加载了这两个表的数据、是不是我的命令写错啦?




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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 15:31:00 [显示全部帖子]

表名没有错

我把这个命令写在登录按钮中应该也是可以的吧?

[此贴子已经被作者于2014-11-19 15:32:05编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 15:35:00 [显示全部帖子]

表名没错、在afteropenproject中写了以下命令;好像没有重新加载的命令


Tables("本机注册表").Rows(0)("机器码") = ComputerId '在"本机注册表""机器码"列第一行填入机器码
DataTables("本机注册表").Save()


Dim r As Row = Tables("本机注册表").Rows(0) 'r代表"本机注册表"第一行
Dim jqm As DataRow = DataTables("系统注册信息表").Find("机器码 = '" & r("机器码") & "'") 'fdr代表"系统注册信息表"的机器码=r表的机器码
Dim zcm As DataRow = DataTables("系统注册信息表").Find("使用授权 = 'FALSE '") 'fdr代表"系统注册信息表"的机器码=r表的机器码

If  jqm Is Nothing    Then '如果"本机注册表"的"机器码"与"系统注册信息表"的"机器码"列没有相同内容,那么
    MainTable = Tables("系统注册信息表") '打开"***"表
    Forms("填写申请资料窗口").Open() '打开"***"窗口
    
Else
    
    If jqm IsNot Nothing  AndAlso  jqm("使用授权") = "FALSE"  Then '如果"系统注册信息表"的"使用授权"为"FALSE",那么
        MessageBox.Show("管理员还未完成对本机的授权,请与管理员联系", "未授权提示",MessageBoxButtons.Ok,MessageBoxIcon.Warning,0, Windows.forms.MessageBoxOptions.ServiceNotification) '弹出提示窗口
        Syscmd.Project.Exit() '正常退出飞狐
        Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
        
    Else
        
        If jqm IsNot Nothing AndAlso  jqm("使用授权") = "TRUE"  AndAlso jqm("截止日期") < Date.Today Then
            MessageBox.Show("本计算机使用该软件的期限已经过期,请与管理员联系", "未授权提示",MessageBoxButtons.Ok,MessageBoxIcon.Warning,0, Windows.forms.MessageBoxOptions.ServiceNotification) '弹出提示窗口
            Syscmd.Project.Exit() '正常退出飞狐
            Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
            
        Else
            If jqm IsNot Nothing AndAlso  jqm("使用授权") = "FALSE"  AndAlso jqm("截止日期") >= Date.Today Then
                MessageBox.Show("管理员还未完成对本机的授权,请与管理员联系", "未授权提示",MessageBoxButtons.Ok,MessageBoxIcon.Warning,0, Windows.forms.MessageBoxOptions.ServiceNotification) '弹出提示窗口
                Syscmd.Project.Exit() '正常退出飞狐
                Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
                
            Else
                
                
                If Syscmd.Project.Update(False,False) = False Then '如果没有升级(False,True)
                    Forms("用户登录").Open() '打开 用户登录 窗口
                    If _UserName = "" Then '如果用户名= 空
                        system.diagnostics.process.GetProcessesByName("foxtable")(0).kill
                    End If
                Else
                    system.diagnostics.process.GetProcessesByName("foxtable")(0).kill
                End If
                
                
            End If
            
            
            
            Applicati '系统抬头显示该名称
            
            MainTable = Tables("主页") '打开"主页"表
            
            Forms("主页背景窗口").Open() '打开"主窗口(主页)"窗口
            
            For Each u As Row In Tables("本机注册表").Rows
                Dim dru As DataRow = DataTables("系统注册信息表").Find("机器码 = '" & u("机器码") & "'")
                If dru IsNot Nothing Then
                    For Each s As String In "截止日期".Split("|")
                        u(s) = dru(s)
                    Next
                    
                End If
            Next
            
        End If
    End If
End If

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 15:40:00 [显示全部帖子]

登录窗口是写有加载表数据命令,我该怎么改才能让他不加载以上两个表的数据呢?

“OLT设备用户端口数据表”和“Itellin用户数据表”

If User.Type <> UserTypeEnum.Developer AndAlso User.Type <> UserTypeEnum.Administrator AndAlso _UserGroup <> "特级管理员"  AndAlso _UserGroup <> "省公司"  Then
    
    
    Dim fdr As DataRow = DataTables("Users").SQLFind("Name = '" & _userName & "'")
    If fdr IsNot Nothing Then
        _user分公司 = fdr("分公司")
    End If
    For Each dt1 As DataTable In DataTables
        If dt1.DataCols.Contains("分公司") Then
            dt1.GlobalHandler.DataRowAdded = True
            dt1.LoadFilter = "分公司 = '" & _user分公司 & "'" '只加载分公司=当前用户"分公司"列所属分公司内容
            dt1.Load
        End If
    Next
    
    
Else
    
    For Each dt1 As DataTable In DataTables
        If dt1.DataCols.Contains("分公司") Then
            dt1.GlobalHandler.DataRowAdded = True
            dt1.LoadFilter = "分公司 <> ''" '加载分公司列不等于"空"
            
            dt1.Load
        End If
    Next
       
End If

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 16:04:00 [显示全部帖子]

好像还是一样加载了那两个表数据啦

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/19 16:20:00 [显示全部帖子]

两个都写了:

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
Dim fr As DataRow = DataTables("users").SQLFind("Name = '" & userName & "'")
cmd.C
If UserName = ""  Then
    Messagebox.show("请输入用户名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

If Date.Today > fr("停用日期") Then
    
    Messagebox.show("当前用户使用该系统的期限已经过期,请与管理员联系","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    'Syscmd.Project.Exit() '正常退出飞狐
    Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
Else
    
    dr = dt.DataRows(0)
    If e.Form.Controls("PassWord").Value = dr("Password") Then
        _UserName = UserName
        _UserGroup = dr("Group")
        _User维护权限 = dr("维护权限")
        _User分公司 = dr("分公司")
        
        e.Form.Close
    Else
        Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
    
    
    
End If



If User.Type <> UserTypeEnum.Developer AndAlso User.Type <> UserTypeEnum.Administrator AndAlso _User分公司 <> "惠州分公司" Then
    
    
    RibbonTabs("技术资料").visible = False
    RibbonTabs("专项工作").visible = False
    RibbonTabs("材料管理").visible = False
    RibbonTabs("日常管理").visible = False
    
    RibbonTabs("台帐管理").Groups("电源台帐").Visible = False
    RibbonTabs("台帐管理").Groups("互联网台帐").Visible = False
    
    If User.Type <> UserTypeEnum.Developer AndAlso User.Type <> UserTypeEnum.Administrator AndAlso _UserGroup <> "特级管理员" Then
        
        ConfigBar.Items("开发按钮").Visible = False
        ConfigBar.Items("切换分公司").Visible = False
        
        
        If  _UserGroup <> "省公司" Then
            
            ConfigBar.Items("切换分公司").Visible = False
            
        Else
            
            ConfigBar.Items("切换分公司").Visible =  True
        End If    
        Else
            ConfigBar.Items("开发按钮").Visible =  True
            ConfigBar.Items("切换分公司").Visible =  True
        End If    
        Else
                       
            RibbonTabs("技术资料").visible = True
            RibbonTabs("专项工作").visible = True
            RibbonTabs("材料管理").visible = True
            RibbonTabs("日常管理").visible = True
            
            RibbonTabs("台帐管理").Groups("电源台帐").Visible = True
            RibbonTabs("台帐管理").Groups("互联网台帐").Visible = True
            
       
        End If
        
        
        
        If User.Type <> UserTypeEnum.Developer AndAlso User.Type <> UserTypeEnum.Administrator AndAlso _UserGroup <> "特级管理员"  AndAlso _UserGroup <> "省公司"  Then
            
            
            Dim fdr As DataRow = DataTables("Users").SQLFind("Name = '" & _userName & "'")
            If fdr IsNot Nothing Then
                _user分公司 = fdr("分公司")
            End If
            For Each dt1 As DataTable In DataTables
                If dt1.Name <> "OLT设备用户端口数据表" AndAlso dt1.Name <> "Itellin用户数据表" AndAlso dt1.DataCols.Contains("分公司") Then
                    dt1.GlobalHandler.DataRowAdded = True
                    dt1.LoadFilter = "分公司 = '" & _user分公司 & "'" '只加载分公司=当前用户"分公司"列所属分公司内容
                    dt1.Load
                End If
            Next
            
            
        Else
            
            For Each dt1 As DataTable In DataTables
                If dt1.Name <> "OLT设备用户端口数据表" AndAlso dt1.Name <> "Itellin用户数据表" AndAlso dt1.DataCols.Contains("分公司") Then
                    dt1.GlobalHandler.DataRowAdded = True
                    dt1.LoadFilter = "分公司 <> ''" '加载分公司列不等于"空"
                    
                    dt1.Load
                End If
            Next
            
        End If

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/20 11:23:00 [显示全部帖子]

好像没看出问题来
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.xls


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/24 10:57:00 [显示全部帖子]

查了,有关  .load 命令的都是按钮命令来的;没有看出问题啊

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/11/26 9:30:00 [显示全部帖子]

把项目里除了  登录窗口 以外的所有 .load 的命令全部都注释掉了;但是还是一样会加载  "OLT设备用户端口数据表" 和 "Itellin用户数据表"

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:load.xls



 回到顶部
总数 14 1 2 下一页