ExecuteDataReturn
Diese Methode sendet das angegebene SQL-Kommando über die bereits vom Baustein FB_SQLDatabase geöffnete Datenbankverbindung an die Datenbank. Um die zurückgelieferten Datensätze zu lesen, kann eine Instanz vom Baustein FB_SQLResult übergeben werden.
Syntax
METHOD ExecuteDataReturn : BOOL
VAR_INPUT
pSQLCmd: POINTER TO BYTE;
cbSQLCmd: UDINT;
pSQLDBResult: POINTER TO FB_SQLResult;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
pSQLCmd | POINTER TO BYTE | Gibt die Pointer-Adresse einer String-Variablen mit dem auszuführenden SQL-Befehl an. |
cbSQLCmd | UDINT | Gibt die Länge des SQL-Befehls an, der ausgeführt werden soll. |
pSQLDBResult | POINTER TO FB_SQLResult | Gibt eine neue Instanz des Bausteins FB_SQLResult zurück. |
Rückgabewert
Name | Typ | Beschreibung |
---|---|---|
ExecuteDataReturn | POINTER TO BYTE | Zeigt den Status der Methode. Liefert TRUE, sobald die Methodenausführung beendet ist, also auch im Fehlerfall. |
Beispiel
Nutzt das vom FB_SQLDatabaseEvt.CreateCmd() erstellte Kommando.
VAR
fbSqlCommand : FB_SQLCommandEvt(sNetID := '', tTimeout := T#5S);
tcMessage : I_TcMessage;
END_VAR
// you can generate this with the SQL Query Editor
sCmd := 'SELECT ID, Timestamp, Name, Value FROM myTable_Double';
// call sql command
IF fbSQLCommand.ExecuteDataReturn(ADR(sCmd), SIZEOF(sCmd), ADR(fbSqlResult)) THEN
IF fbSQLCommand.bError THEN
nState := 255;
ELSE
tcMessage := fbSQLCommand.ipTcResult;
nState := nState+1;
END_IF
END_IF
Nachfolgend kann der FB_SQLResultEvt genutzt werden, um die Daten auszulesen.