SP mit mehreren Rückgabewerten aufrufen

Anfang  Zurück  Vor

Letzte Änderung 12.07.2016

 

Beispiel Stored Procedure (Oracle) - Liefert die Anzahl an User (Darsteller) der Tabelle ACTOR sowie die Anzahl der Filme der Tabelle FILM zurück.

create or replace procedure "CURRENTUSERANDFILMCOUNT" (usercount OUT NUMBER, filmcount OUT NUMBER)
is
begin
SELECT COUNT(*) INTO usercount FROM ACTOR;
SELECT COUNT(*) INTO filmcount FROM FILM;
end;

 

Beim Importieren der Stored Procedure CURRENTUSERANDFILMCOUNT wird bei der Datenquelle die Java Methode CURRENTUSERANDFILMCOUNT() mit den Parametern getUSERCOUNT() und getFILMCOUNT() generiert, mit der Sie die Stored Procedure aufrufen können.

 

 

1.Fügen Sie ein XdevTextField per Drag&Drop aus der Palette in die Arbeitsfläche ein.

2.Weisen Sie dem XdevTextField das Ereignis init zu und fügen Sie folgende Codezeile ein.

formattedTextField.setNumber(SakilaDB.CURRENTUSERANDFILMCOUNT().getUSERCOUNT());   

3.Bewegen Sie den Mauszeiger auf die rot markierte Codestelle, warten Sie bis ein Quickfix erscheint und klicken Sie dann auf Mit try-chatch umschließen.

clip0631

4.Fügen Sie ein XdevTextField per Drag&Drop aus der Palette neben das erste XdevTextfield ein.

5.Weisen Sie dem XdevTextField das Ereignis init zu und fügen Sie folgende Codezeile ein.

formattedTextField1.setNumber(SakilaDB.CURRENTUSERANDFILMCOUNT().getFILMCOUNT());  

6.Bewegen Sie den Mauszeiger auf die rot markierte Codestelle, warten Sie bis ein Quickfix erscheint und klicken Sie dann auf Mit try-chatch umschließen.

 

 

 

SP Rückgabewerte in Variablen speichern

 

Von der Stored Procedure zurückgelieferte Werte werden in Variablen gespeichert, auf die Sie wie gewohnt zugreifen können. Hierbei müssen Sie lediglich beachten, dass Sie den korrekten Java Datentpyen verwenden.

 

Double currentUserCount = SakilaDB.CURRENTUSERANDFILMCOUNT().getUSERCOUNT();
Double currentFilmCount = SakilaDB.CURRENTUSERANDFILMCOUNT().getFILMCOUNT();