簡體   English   中英

Oracle Apex刷新圖表不起作用

[英]Oracle Apex Refreshing Chart is not working

我已經在apex應用程序中創建了一個對話框頁面。 在此頁面上,用戶可以為圖表選擇幾個過濾器。 單擊按鈕后,用戶將重定向到上一頁,並且刷新包含圖表的區域。 我的問題是設置過濾器不起作用。 重定向到上一頁后,圖表將無休止地刷新,直到出現錯誤:錯誤的網關。 因此,我看不到圖表的任何結果。 我的圖表查詢是否可能太復雜? 對話框頁面包含穿梭類型的四項,這是我的圖表的查詢。

select COUNT(TRIGGER_TABLE.DATUM_UHRZEIT) as Anzahl_Trigger,
   TEST.ID as ID
from BRIDGE_SYSTEM_TRIGGER, SYSTEM_TABLE, TRIGGER_TABLE, FAHRT, TEST, MITARBEITER
where BRIDGE_SYSTEM_TRIGGER.SYSTEM_TABLE_SYSTEM_ID = SYSTEM_TABLE.SYSTEM_ID
      and BRIDGE_SYSTEM_TRIGGER.TRIGGER_TABLE_TRIGGER_ID = TRIGGER_TABLE.TRIGGER_ID
      and TRIGGER_TABLE.FAHRT_FAHRT_ID = FAHRT.FAHRT_ID
      and MITARBEITER.QNUMMER = FAHRT.MITARBEITER_QNUMMER
      and FAHRT.TEST_ID = TEST_ID
      and TRIGGER_TABLE.PRIORITAET = 0
      or ((instr(':' || upper(:P26_Tests) || ':', upper(Test.Test_ID)) > 0)
      or (instr(':' || upper(:P26_UEBERSYSTEM) || ':',':' || upper(system_table.system_name) ||':') > 0) or (instr(':' || upper(:P26_UNTERSYSTEM) || ':',':' || upper(system_table.system_name) ||':') > 0)
      or (instr(':' || upper(:P26_COUNTRIES) || ':', upper(FAHRT.LAND)) > 0)
      or (instr(':' || upper(:P26_REF) || ':', upper(Test.REF)) > 0)
      or (instr(':' || upper(:P26_DRIVER) || ':', upper(MITARBEITER.QNUMMER)) > 0))
GROUP BY TEST.ID
ORDER BY TEST_ID;

該查詢不會引發任何錯誤。 我考慮過的另一個問題是刷新定義不正確或無法正常工作。

我可以解決我的問題! 刷新沒有錯。 盡管我無法證明為什么不加載刷新,但是我認為這是運行時問題,因為查詢太復雜了。

我將查詢的最后五個or條件更改為and子句 這樣做之后,刷新將再次起作用。

select COUNT(TRIGGER_TABLE.DATUM_UHRZEIT) as Anzahl_Trigger,
TEST.ID as ID
from BRIDGE_SYSTEM_TRIGGER, SYSTEM_TABLE, TRIGGER_TABLE, FAHRT, TEST, MITARBEITER
where BRIDGE_SYSTEM_TRIGGER.SYSTEM_TABLE_SYSTEM_ID = SYSTEM_TABLE.SYSTEM_ID
      and BRIDGE_SYSTEM_TRIGGER.TRIGGER_TABLE_TRIGGER_ID = TRIGGER_TABLE.TRIGGER_ID
      and TRIGGER_TABLE.FAHRT_FAHRT_ID = FAHRT.FAHRT_ID
      and MITARBEITER.QNUMMER = FAHRT.MITARBEITER_QNUMMER
      and FAHRT.TEST_ID = TEST_ID
      and TRIGGER_TABLE.PRIORITAET = 0
      and ((instr(':' || upper(:P26_Tests) || ':', upper(Test.Test_ID)) > 0)
      and (instr(':' || upper(:P26_UEBERSYSTEM) || ':',':' || upper(system_table.system_name) ||':') > 0) or (instr(':' || upper(:P26_UNTERSYSTEM) || ':',':' || upper(system_table.system_name) ||':') > 0)
      and (instr(':' || upper(:P26_COUNTRIES) || ':', upper(FAHRT.LAND)) > 0)
      and (instr(':' || upper(:P26_REF) || ':', upper(Test.REF)) > 0)
      and (instr(':' || upper(:P26_DRIVER) || ':', upper(MITARBEITER.QNUMMER)) > 0))
GROUP BY TEST.ID
ORDER BY TEST_ID;

該查詢具有明確的外觀,因為我想過濾,這就是為什么我需要and條件的原因。 每個元素必須為true,否則將出現錯誤結果。

暫無
暫無

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

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