以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  卸载表报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191388)

--  作者:yifan3429
--  发布时间:2024/4/14 0:01:00
--  卸载表报错
For Each dt As DataTable In DataTables
    Select Case dt.Name
        Case "导航", "系统_系统设置", "系统_角色"
        Case Else
            DataTables.Unload(dt.Name)
    End Select 
Next

---------------------------
版本:2022.8.18.1
---------------------------
代码执行出错,错误信息:



System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。

   在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

   在 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()

   在 UserCode.Test()
---------------------------
确定   
---------------------------


--  作者:BIAO
--  发布时间:2024/4/14 10:02:00
--  
您在"访问论坛"的时候发生错误,共有1项,下面是错误的详细信息
  • ??????????
  • 请仔细阅读论坛帮助文件,确保您有相应的操作权限。

--  作者:BIAO
--  发布时间:2024/4/14 10:03:00
--  
为什么我发帖会出现错误信息,无法发布呢?
--  作者:有点蓝
--  发布时间:2024/4/14 20:27:00
--  
集合删除要倒序处理,原因可以参考这个:http://www.foxtable.com/webhelp/topics/0599.htm

For i As Integer = DataTables.Count - 1 To 0 Step - 1
    Dim dt As DataTable = DataTables(i)
    Select Case dt.Name
        Case "导航", "系统_系统设置", "系统_角色"
        Case Else
            DataTables.Unload(dt.Name)
    End Select 
Next