Foxtable(狐表)用户栏目专家坐堂 → NET Framework 的错误信息是什么意思?


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

主题:NET Framework 的错误信息是什么意思?

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


加好友 发短信
等级:幼狐 帖子:63 积分:455 威望:0 精华:0 注册:2019/8/21 10:46:00
NET Framework 的错误信息是什么意思?  发帖心情 Post By:2019/10/12 10:09:00 [只看该作者]

.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2019.8.3.1
错误所在事件:窗口,季度评优,B制表,Click
详细错误信息:
Error HRESULT E_FAIL has been returned from a call to a COM component.


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


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 10:26:00 [只看该作者]

错误所在事件:窗口,季度评优,B制表,Click  -- 检查代码,提示是是无法调用com组件

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


加好友 发短信
等级:幼狐 帖子:63 积分:455 威望:0 精华:0 注册:2019/8/21 10:46:00
代码如下:  发帖心情 Post By:2019/10/12 10:52:00 [只看该作者]

Dim drs As List(Of DataRow)
Dim Result As DialogResult
Result = MessageBox.Show("将删除<季度评优>表的所有数据,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    drs = dty.Select("[在职] = 'True' And [职位等级] > 3","部门,职位等级")
    dtj.DeleteFor("")
    Dim i As Integer
    For Each dr As DataRow In drs
        dbj.AddNew()
        i = Array.Indexof(Y部门,dr("部门"))
        dbj.Current("分组") = S分组(i)
        dbj.Current("次序") = 次序(i)
        dbj.Current("姓名") = dr("姓名")
        dbj.Current("级别") = dr("职位等级")
    Next
    dtj.Save()
    i = 1
    If i = 1 Then
        Vars("kh") ="季度评优"
        Dim Builder As New ADOXBuilder
        Dim tbl As ADOXTable
        Builder.Open()
        If DataTables.Contains(Vars("kh")) '如果存在表
            For Each dc As DataRow In DataTables(Vars("kh")).DataRows
                Dim Name As String = dc("姓名")
                If dbj.Cols.Contains(Name) Then
                    Builder.Tables(Vars("kh")).DeleteColumn(Name) '删除含"姓名"的列
                End If
            Next
            DataTables(Vars("kh")).Save()

            For Each dc As DataRow In DataTables(Vars("kh")).Select("","次序,级别")
                Dim Name As String = dc("姓名")
                Builder.Tables(Vars("kh")).AddColumn(Name ,ADOXType.Integer)  '添加(姓名)列
            Next
        End If
        Builder.Close()
        
        'DataTables.load("季度评优")
        dbj.Sort = "次序,级别"
        
        dtj.ResumeRedraw()
        'Forms("季度评优").ReseumeRedraw() '停止绘制窗口
        Syscmd.Project.Open(ProjectFile)
    End If
    'dtj.ResumeRedraw()
End If

##昨晚可以生成(姓名)列,后来不行??

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


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 11:35:00 [只看该作者]

应该是删除了不存在的列,或者是添加了已经存在的列。这种用法在并发的时候特别容易出错。

如果表格是通用的,建议添加固定列。如果表格不是通用的,用户独有的,表格名称加上用户名称进行区分,这个用户不能使用其它用户的表格

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


加好友 发短信
等级:幼狐 帖子:63 积分:455 威望:0 精华:0 注册:2019/8/21 10:46:00
  发帖心情 Post By:2019/10/12 14:58:00 [只看该作者]

我手工增加列不行,也是同样问题,只有复制表结构生成新表代码正常执行。

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


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 15:02:00 [只看该作者]

那应该是列太多了,数据库的列数量是有限制的。什么数据库?

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


加好友 发短信
等级:幼狐 帖子:63 积分:455 威望:0 精华:0 注册:2019/8/21 10:46:00
  发帖心情 Post By:2019/10/12 15:15:00 [只看该作者]

职工的季度评优表,有100列左右。

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


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 15:24:00 [只看该作者]

压缩一下项目。如果是access数据库使用access打开数据库压缩一下

 回到顶部