我正在使用 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的外键,也是' 的主键。我设置的东西如下(我使用图形工具):ABbbB
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>
我错过了什么,如何解决?