簡體   English   中英

ORA-01036中的Delphi7主詳細關系查詢結果

[英]Delphi7 master detail relations query results in ORA-01036

我正在使用Devart的dbExpress驅動程序4.70 Delphi7。

我刪除了兩個TSQLTables(分別稱為AB ),兩個TDataSetProviders( dspAdspB ),兩個TClientDataSets( cdsAcdsB ),兩個TDataSources( dsAdsB )以及兩個DBGrid( gridAgridB )。 一切都很好。 如果將cdsA.Active設置為true,則可以在gridA看到數據。 每個cdsB相同。

現在我要實現關系

A JOIN B ON a = b.

字段aB的字段b引用的真實A的前鍵,並且b也是B的主鍵。 我將內容設置如下(我使用圖形工具):

cdsB.MasterSource := dsA;
cdsB.MasterFields := a;
cdsB.IndexFieldNames := b;

當我執行cdsB.Open ,出現以下錯誤:

ORA-01036:非法的變量名稱/編號”。

表A中的字段a值始終為null (沒有數據)。 TSQLMonitor報告以下查詢: Execute: select * from A

...

Execute: select * from ENTI where (b is NULL)

:1 (Number,IN) = <NULL>

我錯過了什么,如何解決?

使用Datasnap時,應該在源數據集而不是客戶端數據集上設置M / D關系。 它將在主客戶端數據集中創建一個“數據集字段”。 然后,您將此字段分配給子客戶端數據集。 這種方法也更有效。

無論如何,它也應該正常工作,看起來您的SQL出了點問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM