我有这种情况。从一个表开始,我必须检查与键匹配的所有记录。如果找到记录,我必须使用第一个表中的键检查另一个表,依此类推,在五个级别上越多越少。有一种方法可以用递归的方式做到这一点,或者我必须“手工”编写所有的代码?我使用的语言是Visual Fox Pro。如果这是不可能的,是不是也可以使用递归来弹出树视图?
发布于 2019-04-05 02:22:11
您可以设置表之间的关系。例如:
USE table_1.dbf IN 0 SHARED
USE table_2.dbf IN 0 SHARED
SET ORDER TO TAG key_field OF table_2.cdx IN table_2
SET RELATION TO key_field INTO table_2 ADDITIVE IN table_1前两个命令打开table_1和table_2。然后你必须设置table_2的顺序/索引。如果你没有关键字字段的索引,那么这将不起作用。最后一个命令在键字段上设置两个表之间的关系。
在这里,您可以浏览两个表,将根据table_1的键字段过滤table_2的记录。希望这能有所帮助。
发布于 2019-04-05 04:27:42
如果两个表具有相似的结构,或者您只需要查看几个字段,则可以编写一个递归例程,该例程将表的名称、要检查的键以及需要检查的字段作为参数接收。我想,最棘手的部分是知道下一次调用要传递什么。
如果没有看到一些表结构,我不认为我能提供更多的建议。
发布于 2019-04-15 15:37:46
很抱歉这么晚才回答,但问题当然是递归不是一个可行的解决方案,因为我必须在多个表中进行搜索。因此,我通过在我需要的表中进行简单的两级搜索来解决问题。
非常感谢你的帮助,很抱歉这么晚才回复。
https://stackoverflow.com/questions/55512009
复制相似问题