以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  “外部数据表”是否包含某一个表,如何判断?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=64238)

--  作者:lsy
--  发布时间:2015/2/8 12:32:00
--  “外部数据表”是否包含某一个表,如何判断?
“外部数据表”如果没有包含某一个表,动态加载表的时候就会出现以下错误信息:

不存在名称为"XXX"的Table!

现在的问题是,如何预先判断一下“外部数据表”,是否包含某个表。
不是判断外部数据源,也不是判断DataTables是否包含某个表

而且从动态数据源,好像也不能动态生成外部表,静态数据源是可以的:

Dim q As New OuterTableBuilder
q.TableName = e.Sender.Text
q.TableCaption = e.Sender.Text
q.ConnectionName = e.Form.Controls("cbx-数据源名").Text

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150208124434.png
图片点击可在新窗口打开查看

q.Buildld




[此贴子已经被作者于2015/2/8 13:56:39编辑过]

--  作者:lsy
--  发布时间:2015/2/8 12:43:00
--  
图片上的一句话,犯什么忌讳呢?发不上论坛。
--  作者:逛逛
--  发布时间:2015/2/8 12:48:00
--  

防注入,不能有关键字


--  作者:lsy
--  发布时间:2015/2/8 12:49:00
--  
多了不少麻烦。
--  作者:逛逛
--  发布时间:2015/2/8 12:52:00
--  

图片点击可在新窗口打开查看

 

没办法。

 

你登录窗口不是也得这么处理吗?


--  作者:逛逛
--  发布时间:2015/2/8 12:54:00
--  
不是有获取数据源表和函数集合的吗?
--  作者:lsy
--  发布时间:2015/2/8 13:42:00
--  
动态数据源,当然能获取,而且其中的表名,也能获取,在狐表中动态生成这个数据源的外部数据表却不行,静态数据源没问题。
数据源中有表,但“外部数据表”中没加入,在动态加载表的时候就会提示错误。
如果有地方先判断,没加入“外部数据表”,就动态生成一个外部数据表。

用下面的判断不行:
For Each t As String In Connections(cn).GetTableNames
        e.Sender.Items.Add(t)
Next
数据源中有表,而报错是因为“外部数据表”中没这个表。

用DataTables.Contains("XXX")更不行,就是因为还没有加载,才需要动态加载。
[此贴子已经被作者于2015/2/8 13:50:33编辑过]

--  作者:逛逛
--  发布时间:2015/2/8 14:12:00
--  

俺投降,没招了。

 

按帮助中的说法,动态创建的表和列之后,都必须重新打开项目。

狐爸应该是在项目打开的时候,已经把设置读取的变量中了,不重新加载,就找不到外部表,而这些变量都是私有的,读不到。


--  作者:有点甜
--  发布时间:2015/2/8 14:15:00
--  

1、Load

 

DataTables.Load("ddd")

 

2、判断Datatables是否加入

 

3、如果没加入,就用 OuterTableBuilder


--  作者:lsy
--  发布时间:2015/2/8 14:37:00
--  
以下是引用有点甜在2015/2/8 14:15:00的发言:

1、Load

 

DataTables.Load("ddd")

 

2、判断Datatables是否加入

 

3、如果没加入,就用 OuterTableBuilder



静态数据源,就是这样做的。

我的本意是想在动态数据源中用OuterTableBuilder,这样的表,不需要删除,灵活性好,

却报错,没法用。