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

ExecuteDataReturn 1: 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.

ExecuteDataReturn 2: 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.