我正在使用 Delphi7,Devart 的 dbExpress 驱动程序 4.70。
我删除了两个 TSQLTables(称为A
和B
)、两个 TDataSetProviders(dspA
和dspB
)、两个 TClientDataSets(cdsA
和cdsB
)、两个 TDataSources(dsA
和dsB
)和两个 DBGrid(gridA
和gridB
)。一切都很好。如果我设置cdsA.Active
为 true,我可以在gridA
. 每个相同cdsB
。
现在我想实现关系
A JOIN B ON a = b.
该字段是 '字段引用a
的 true的外键,也是' 的主键。我设置的东西如下(我使用图形工具):A
B
b
b
B
cdsB.MasterSource := dsA;
cdsB.MasterFields := a;
cdsB.IndexFieldNames := b;
当我这样做时cdsB.Open
,我收到了这个错误:
ORA-01036: 非法变量名称/编号”。
字段a
值始终null
在表 A 中(没有数据)。TSQLMonitor 报告以下查询:
Execute: select * from A
...
Execute: select * from ENTI where (b is NULL)
:1 (Number,IN) = <NULL>
我错过了什么,如何解决?