VFP 9.0如何从DBC对象中提取所有表关系

时间:2015-01-06 18:12:52

标签: visual-foxpro

我需要以某种方式提取父/子表之间的所有关系。有没有办法使用DBC对象?

Reminder of how relations look in the VFP DB Designer

1 个答案:

答案 0 :(得分:5)

对不起家伙我多年来都忘了它,但经过一番思考后才找到了我......

OPEN DATABASE ABC
=ADBOBJECTS(ga_Connections, "CONNECTION")
=ADBOBJECTS(ga_Relations, "RELATION")
=ADBOBJECTS(ga_Views, "VIEW")
=ADBOBJECTS(ga_Tables, "TABLE")
CLOSE DATABASES

全局数组ga_Relations是带有

的N x 5数组

父表,子表,父键,子键,空字符串单元

您可以创建游标并将数组插入其中,如下所示:

CREATE CURSOR dbRelat (Parent_Table C(40),Child_Table C(40),Parent_Key C(40),Child_key C(40),Spacer C(1))

TRY 
    INSERT INTO dbRelat FROM ARRAY ga_Relations 
CATCH
    MESSAGEBOX("No Relations in this DataBase!",48,1000)
ENDTRY 

当然,你可以为表格,视图和连接做同样的事情......

希望它对其他人有用......

DK