以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117251) |
-- 作者:chnfo -- 发布时间:2018/4/9 15:52:00 -- [求助] 在表P的BeforeDeleteDataRow事件中,有这样的代码 For Each dt As DataTable In DataTables If dt.DataCols.Contains("PID") Then systemready = False MessageBox.Show(dt.Name & "准备删除") Dim fil As String = "PID = \'" & e.DataRow("ID") & "\'" dt.SQLDeleteFor(fil) dt.RemoveFor(fil) MessageBox.Show(dt.Name & "删除OK") systemready = True End If Next 在其中一个表X的时候,先弹出表X准备删除,然后报出一个错误 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.3.9.1 错误所在事件: 详细错误信息: 无法找到列 ModC。 然后关闭这个弹窗,然后其它的删除操作又继续执行。 但我查了所有与表X,它本身就没有ModC这一列,删除表X的视图,仍然会报出错误,这是什么问题? ------把所有的表视图全部清空,干净了。 ---感觉这个表视图的功能有待改进,比如原来有10个字段,表视图中用到了其中的8个,后来删除了这8个字段中的其中几个,没有重新定义表视图,结果就会在一些地方报出错误。已经被这个坑了两次了。 [此贴子已经被作者于2018/4/9 16:13:06编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/4/9 16:37:00 -- 回复chnfo,表视图无法预知你删除或者增加列。所以你设置视图后如果修改了表结构,建议重新设置视图。 |
-- 作者:chnfo -- 发布时间:2018/4/9 17:26:00 -- 增加列可以不管,但删除列应当可以识别的。---个人觉得可以优化一下。 |