1先看帮助文档标准说法:
加载多个表
可以一次加载多个表,表名和表名之间用符号“|”隔开。
示例
If
DataTables.Contains("产品") = False Then
DataTables.Load("产品|订单|订单明细")
End If
重要提示:
如果两个或多个表之间建立了关联,那么这些表必须在同一个Load方法中同时加载,不可以分别加载。
2假设现在有3个表,订单主表,订单明细表,商品档案。订单主表与订单明细表建立关系,订单明细表与商品档案建立关系。
平时业务流程就是,新建一个订单,然后在明细表里,选择多个商品添加进去。这个是个很普通的业务流程
3正常情况下,DataTables.Load("订单主表|订单明细表|商品档案") ,系统后续使用不会产生什么问题。
4但是。有时候,客户只需要修改商品档案,而商品档案,这个表刚好作为关联的最后一环,只加载它也不会报错(如果是订单主表+明细表,只加载一个就不行咯,不用说都知道会报错)。这时候我会只加载了商品档案进去。这时候再打开订单模块,加载DataTables.Load("订单主表|订单明细表|商品档案")就有问题了,重复加载商品档案里。
问:你们是怎么解决这个问题?难道所有关联表,只加载其中一个,哪怕是最后一个无关紧要的表,也把所有的关联都加进去?