ExecuteDataReturn
Diese Methode sendet den Aufruf der angegebenen gespeicherten Prozedur (Stored Procedure) über die bereits vom FB_SQLDatabase-Baustein geöffnete Datenbankverbindung an die Datenbank. Um die zurückgelieferten Datensätze zu lesen, kann eine Instanz vom FB_SQLResult-Baustein übergeben werden.
Syntax
METHOD ExecuteDataReturn : BOOL
VAR_INPUT
pParameterStrc: POINTER TO BYTE;
cbParameterStrc: UDINT;
pSQLDBResult: POINTER TO FB_SQLDBResultEvt;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
pParameterStrc | POINTER TO BYTE | Pointer-Adresse zur Parameterstruktur, die der Prozedur übergeben wird. |
cbParameterStrc | UDINT | Länge der Parameterstruktur |
pSQLDBResult | POINTER TO FB_SQLDBResultEvt | Gibt eine neue Instanz des Bausteins FB_SQLDBResultEvt zurück. |
Rückgabewert
Name | Typ | Beschreibung |
---|---|---|
Read | BOOL | Zeigt den Status der Methode. Liefert TRUE, sobald die Methodenausführung beendet ist, also auch im Fehlerfall. |
Beispiel
Nutzt die zuvor mit FB_SQLDatabaseEvt.CreateSP() erstellte Stored Procedure
VAR
fbSQLStoredProcedure : FB_SQLStoredProcedureEvt(sNetID:='', tTimeout := T#5S);
Customer_ID : LINT;
tcMessage : I_TcMessage;
END_VAR
IF fbSQLStoredProcedure.ExecuteDataReturn(pParameterStrc := ADR(Customer_ID), cbParameterStrc:= SIZEOF(Customer_ID), pSQLDBResult := ADR(fbSqlResult)) THEN
IF fbSQLStoredProcedure.bError THEN
tcMessage := fbSQLStoredProcedure.ipTcResult;
nState := 255;
ELSE
nState := nState+1;
END_IF
END_IF
Nachfolgend kann der FB_SQLResultEvt genutzt werden, um die Daten auszulesen.