以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【求助】为什么窗口关闭后,窗口内的表还存在?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85710)

--  作者:飞飞
--  发布时间:2016/6/1 15:32:00
--  【求助】为什么窗口关闭后,窗口内的表还存在?
 独立窗口关闭后,窗口的内表还存在于dateset中,导致各种错误,求解:
(|Table2是一个SQLQuery的表)

图片点击可在新窗口打开查看此主题相关图片如下:2016-06-01_153123.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2016-06-01_153648.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/6/1 15:34:12编辑过]

--  作者:大红袍
--  发布时间:2016/6/1 15:35:00
--  
你命令窗口是在窗口打开的时候打开的话,就会这样,关闭重新打开试试。
--  作者:大红袍
--  发布时间:2016/6/1 15:36:00
--  

一般造成这个原因,都是那你生成统计表的时候build了以后又buildDataSource造成的。

 

具体可以做例子上来看看。


--  作者:飞飞
--  发布时间:2016/6/1 15:40:00
--  
以下是引用大红袍在2016/6/1 15:35:00的发言:
你命令窗口是在窗口打开的时候打开的话,就会这样,关闭重新打开试试。

我截一个命令行的图,只是为了证明datetable,已经存在于dateset,很不正常。
Table2是一个SQLQuery的表。
重新打开还是不行。
--  作者:大红袍
--  发布时间:2016/6/1 15:41:00
--  
 看看3楼,如果还有问题,做个实例看看。
--  作者:飞飞
--  发布时间:2016/6/1 15:47:00
--  
以下是引用大红袍在2016/6/1 15:41:00的发言:
 看看3楼,如果还有问题,做个实例看看。

还是不行,而且错误是随机出现,不是每次都这样,做例子也做不出来。
[此贴子已经被作者于2016/6/1 15:47:20编辑过]

--  作者:大红袍
--  发布时间:2016/6/1 15:48:00
--  

你升级到最新版了吗?做个类似的实例发上来。


--  作者:大红袍
--  发布时间:2016/6/1 15:49:00
--  
或者是,你尝试unload掉那些表。
--  作者:飞飞
--  发布时间:2016/6/1 16:03:00
--  
以下是引用大红袍在2016/6/1 15:49:00的发言:
或者是,你尝试unload掉那些表。

看来只能在打开窗口前unload啦,帮忙看看这段代码有什么问题吗?怎么报错“集合已经改变”?
For Each dt As DataTable In DataTables
    If dt.name.Contains("_Table") Then
        DataTables.Unload(dt.name)
    Output.Show(dt.name)
    End If
Next

--  作者:大红袍
--  发布时间:2016/6/1 16:05:00
--  
dim ls as new List(Of string)
For Each dt As DataTable In DataTables
    If dt.name.Contains("_Table") Then
        ls.add(dt.name)
    End If
Next
For Each t As String In ls
    DataTables.Unload(t)
Next