以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助加载表结构的写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83466)

--  作者:xuezxz
--  发布时间:2016/4/9 20:28:00
--  求助加载表结构的写法

加载多个表

可以一次加载多个表,表名和表名之间用符号“|”隔开。

示例

If DataTables.Contains("产品") = False Then
    DataTables.
Load("产品|订单|订单明细")
End If

重要提示:

如果两个或多个表之间建立了关联,那么这些表必须在同一个Load方法中同时加载,不可以分别加载。


想问一下如果有表有交叉关联的现象,如下表:

父表 子表
1 2
1 3
1 5
2 7
2 6
3 9
3 5
3 10
4 11
4 3
5 2
6 7

如果要加载表1的话,这个代码应该怎么写?

--  作者:Hyphen
--  发布时间:2016/4/10 14:59:00
--  
把所有有关联的表都一起加载
--  作者:xuezxz
--  发布时间:2016/4/10 19:27:00
--  
不知道代码怎么写啊
如果没有交叉还好办点,直接找到关联的表一起加载就行了,那有交叉的,是不是找到关联的子表又去判断这个子表和其他的表是不是有关联,这样循环下来感觉头都绕晕了,高手指点下这种情况要怎么处理图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/4/10 21:58:00
--  

1、你需要关联表的内容吗?如果不需要,就单独加载。

 

2、如果需要关联表,你就需要把所有的表加载,如 DataTables.Load("1|2|3|4|5|6.........")


--  作者:xuezxz
--  发布时间:2016/4/10 22:24:00
--  
有什么方法可以知道表达式列用的是哪个关联吗?
--  作者:大红袍
--  发布时间:2016/4/11 0:10:00
--  
以下是引用xuezxz在2016/4/10 22:24:00的发言:
有什么方法可以知道表达式列用的是哪个关联吗?

 

比较麻烦。首先,要根据表达式取出关联名称,如 po,然后根据名称查找对应的表

 

http://www.foxtable.com/help/topics/1941.htm

 


--  作者:xuezxz
--  发布时间:2016/4/14 12:06:00
--  
多个表加载时,表的顺序有没有要求,是不是父表要放前面?我将多个表一起加载时总是提示我表不存在,这是什么原因?
--  作者:xuezxz
--  发布时间:2016/4/14 12:17:00
--  
[此贴子已经被作者于2016/4/14 12:19:08编辑过]

--  作者:大红袍
--  发布时间:2016/4/14 12:28:00
--  
以下是引用xuezxz在2016/4/14 12:06:00的发言:
多个表加载时,表的顺序有没有要求,是不是父表要放前面?我将多个表一起加载时总是提示我表不存在,这是什么原因?

 

是的,你控制好顺序,不会做的上传实例。


--  作者:xuezxz
--  发布时间:2016/4/14 13:05:00
--  
加载没有提示错误,但是没有看到加载表,在命令窗口那手动加载又提示表已经加载,这是怎么回事?