以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- NET Framework 的错误信息是什么意思? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141840) |
-- 作者:gzlw2019 -- 发布时间:2019/10/12 10:09:00 -- NET Framework 的错误信息是什么意思? .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. |
-- 作者:有点蓝 -- 发布时间:2019/10/12 10:26:00 -- 错误所在事件:窗口,季度评优,B制表,Click -- 检查代码,提示是是无法调用com组件 |
-- 作者:gzlw2019 -- 发布时间: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 ##昨晚可以生成(姓名)列,后来不行??
|
-- 作者:有点蓝 -- 发布时间:2019/10/12 11:35:00 -- 应该是删除了不存在的列,或者是添加了已经存在的列。这种用法在并发的时候特别容易出错。 如果表格是通用的,建议添加固定列。如果表格不是通用的,用户独有的,表格名称加上用户名称进行区分,这个用户不能使用其它用户的表格
|
-- 作者:gzlw2019 -- 发布时间:2019/10/12 14:58:00 -- 我手工增加列不行,也是同样问题,只有复制表结构生成新表代码正常执行。 |
-- 作者:有点蓝 -- 发布时间:2019/10/12 15:02:00 -- 那应该是列太多了,数据库的列数量是有限制的。什么数据库? |
-- 作者:gzlw2019 -- 发布时间:2019/10/12 15:15:00 -- 职工的季度评优表,有100列左右。 |
-- 作者:有点蓝 -- 发布时间:2019/10/12 15:24:00 -- 压缩一下项目。如果是access数据库使用access打开数据库压缩一下 |