ODBC EXECUTE

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004


ODBC EXECUTE (SQLAnweisung{; GebundObj}{; GebundObj2; ...; GebundObjN})

ParameterTypBeschreibung
SQLAnweisungTextAuszuführender SQL Befehl
GebundObjVariable | FeldEmpfängt Ergebnis (wenn erforderlich)

Beschreibung

Mit dem Befehl ODBC EXECUTE können Sie einen SQL Befehl ausführen und das Ergebnis mit 4D Objekten verbinden (Arrays, Variablen oder Felder).

Der Befehl wird nur ausgeführt, wenn der aktuelle Prozess eine gültige Verbindung enthält.

Der Parameter SQLAnweisung enthält den auszuführenden SQL Befehl, GebundObj empfängt das Ergebnis.

Variablen werden in der Reihenfolge der Spalten gebunden, d.h. verbleibende Spalten der SQL Anweisung ohne zugeordnete Variablen bleiben ausser Acht.

Werden in GebundObj als Parameter 4D Felder übergeben, erstellt der Befehl Datensätze und sichert sie automatisch.

4D Felder müssen aus derselben Tabelle stammen. Sie können nicht im gleichen Aufruf ein Feld aus Tabelle 1, ein weiteres Feld aus Tabelle 2 übergeben. In diesem Fall wird ein Fehler generiert.

Übergeben Sie in GebundObj 4D Arrays oder Variablen, sollten Sie diese vor Aufruf des Befehls deklarieren, um den Typ der bearbeiteten Daten zu überprüfen. Arrays werden bei Bedarf automatisch angepasst.

Mit einer 4D Variablen wird zur selben Zeit ein Datensatz geholt.

Beispiele

(1) In diesem Beispiel erhalten wir die Spalte ename der Tabelle emp der externen Datenquelle. Das Ergebnis wird gespeichert in der 4D Tabelle [employee]Name. 4D Datensätze werden automatisch angelegt:

   SQLStmt:="SELECT ename FROM emp"
   ODBC EXECUTE(SQLStmt;[Employee]Name)
   ODBC LOAD RECORD(ODBC All Records)

(2) Um die Erstellung von Datensätzen zu prüfen, können Sie Code in eine Transaktion setzen und nur dann bestätigen, wenn die Operation zu einem zufriedenstellenden Ergebnis führt:

   ODBC LOGIN("mysql";"root";"")
   SQLStmt:="SELECT alpha_field FROM app_testTable"
   START TRANSACTION
   ODBC EXECUTE(SQLStmt;[Table 2]Field1)
   While(Not(ODBC End Selection))
      ODBC LOAD RECORD
      ...   `Platziere hier Code zur Bestätigung der Daten
   End while
   VALIDATE TRANSACTION   `Transaktion bestätigen

(3) In diesem Beispiel erhalten wir die Spalte ename der Tabelle emp der externen Datenquelle. Das Ergebnis wird gespeichert im Array aName. Wir holen Datensätze in 10er Schritten.

   ARRAY STRING(30;aName;20)
   SQLStmt:="SELECT ename FROM emp"
   ODBC EXECUTE(SQLStmt;aName)
   While(Not(ODBC End Selection))
      ODBC LOAD RECORD(10)
   End while

(4) In diesem Beispiel erhalten wir die Spalten ename und job der Tabelle emp für eine spezifische ID (WHERE Klausel) der externen Datenquelle. Das Ergebnis wird gespeichert in den 4D Variablen vName und vJob. Es wird nur der erste Datensatz erwartet..

   SQLStmt:="SELECT ename, job FROM emp WHERE id = 3"
   ODBC EXECUTE(SQLStmt;vName;vJob)
   ODBC LOAD RECORD

Referenz

ODBC LOAD RECORD.

Systemvariablen oder Mengen

Bei korrekt ausgeführtem Befehl hat die Systemvariable OK den Wert 1, sonst den Wert 0 (Null).


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next