Mit Hilfe der GAPTEQ-Komponente „Data Processor“ ist es möglich, Stored Procedures auf dem SQL-Server aufzurufen, Rückgabewerte zu empfangen sowie diese zu speichern und weiter zu verwenden.
In diesem Artikel lesen Sie folgende Inhalte:
Parameter für SQL-Statement definieren
Komponente Data Processor konfigurieren
Für den Aufruf eines SQL-Statements werden zunächst Parameter definiert und befüllt. Die Speicherung der Rückgabewerte (Output-Parameter) der Prozedur erfolgt in Variablen. So lässt sich prüfen, ob die Prozedur erfolgreich ausgeführt wurde und die Rückgabewerte ausgegeben oder weiterverarbeitet werden können.
Im Beispiel hier sehen Sie einen parametergesteuerten Prozeduraufruf:
- Gehen Sie dazu in der obigen Menüleiste des GAPTEQ-Designerüber den Button "New" unter den Reiter "SQL statement".
- Definieren Sie unter "Parameters" nun alle Parameter, die Sie für den Aufruf der Prozedur benötigen.
- Im SQL-Statement-Editor-Fenster wird der korrekte Aufruf der Stored Procedure mit allen Parametern angegeben.
2. Komponente Data Processor konfigurieren
-
Ziehen Sie die Komponente "Data Processor" per Drag & Drop in die Page.
-
Wählen Sie in den Properties der Komponente über "Select" das zuvor erstellte und abgespeicherte SQL-Statement.
-
Im SQL-Statement definierte Parameter werden über "Data links" mit Werten versorgt.
Actions
- Ereignisse unter Actions können optional zur Programmsteuerung und Fehlerbehandlung verwendet werden.
-
-
Executed – Event wird ausgelöst, wenn die Abfrage erledigt ist.
-
execStarted – Event wird ausgelöst bei Ausführen der Abfrage
-
execError – Meldung erfolgt, wenn die Abfrage nicht erfolgreich ausgeführt werden konnte.
-
3. Stored Procedure ausführen
Notiz! Ein Stored Procedure kann nun durch verschiedene Events einer Komponente ausgeführt werden. Die Ausgabe der Rückgabewerte der Prozedur erfolgt ebenfalls anhand einer Komponente (z.B. Edit Box).
In unserem Beispiel wird die Stored Procedure durch das Clicked Event eines Buttons mit der exec() Action des Data Processors ausgelöst.
Danach erfolgt die Ausgabe des Rückgabewerts der Prozedur – in unserem Beispiel – in einer Edit Box (inputResult.setValue). Diese Aufgabe übernimmt der Data Processor selbstständig, wenn die Abfrage erfolgreich ausgeführt wurde (Event: executed).