2017-08-15 1 views
0

Wie kann ich das beheben {Ajax-Aufruf zurückgegeben Serverfehler ORA-01403: keine Daten gefunden für} Problem? Problem tritt auf, Wenn ich Order_Status_Field Wert 2 in IG festlegen möchte, wo Abfrage Order_Status_Id = 1 war.Interactive Grid (IG) ORA-01403 Fehler in Oracle APEX 5.1.2

Meine IG Abfrage lautete:

SELECT P.ORDER_ID, P.ORDER_STATUS_ID FROM ORDER_DETAILS P WHERE P.ORDER_STATUS_ID=1; 

Mein Arbeitsbereich Name: Zishan

Benutzer: [email protected]

Pass: 123

Problem Seite Nr: 3 (Bestellbericht)

1. Vor-Status Bestell-Aktualisierung: enter image description here

2. Nach dem Auftragsstatus aktualisiert: enter image description here

Antwort

1

Ich sah Ihre Standard "Interactive Grid - Automatische Row Processing (DML)" verwenden Verfahren, die ist ein AJAX-Ansatz. Dieses Apex-Verhalten ist ein Call-Ajax, bei dem das json-Format für Daten verwendet wird. so haben Sie einen Filter auf Ihre SQL-Abfrage

SELECT T.ORDER_ID, 
     T.TABLE_ID, 
     T.TAKEN_BY, 
     T.ORDER_STATUS_ID, 
     T.TOTAL_COST 
FROM ORDER_DETAILS T 
WHERE T.ORDER_STATUS_ID=2 

und Sie möchten Ihre Filter Spalte aktualisieren (Daten hat ändern) es ist wie Spitze scheinen nicht die prevouis Datenfilter finden und zurück NO_DATA_FOUND (nicht wirklich sicher, was passieren) aber zur Lösung:.

  1. setzen Sie Ihren Filter in der interaktiven grid -> Aktionstaste ---> Filter oder
  2. Ihre eigenen Prozess schreiben
+0

Sie haben Recht - nachdem sie die Änderungen der Verarbeitung APEX requery versucht, dass Zeile (vermutlich, um es zu aktualisieren) mit dieser Abfrage (in Debug-Meldungen gesehen): '... Execute-Anweisung: Wählen Sie" ORDER_ID "," TABLE_ID "," TAKEN_BY "," ORDER_STATUS_ID "," TOTAL_COST " von (SELECT P. ORDER_ID, P.TABLE_ID, P.TAKEN_BY, P.ORDER_STATUS_ID, P.TOTAL_COST VON ORDER_DETAILS P WHERE P.ORDER_STATUS_ID = 1 ) q wo "ORDER_ID" =: Apex $ 1 " –