Wiki-Quellcode von Datenbank-Abfrage


Verstecke letzte Bearbeiter
jdr 8.2 1 {{figure image="db_statement_de.png" width="400" clear="h1"}}
jdr 6.1 2 Nutzeroberfläche für Aktionen vom Typ //Datenbank-Abfrage//.
gru 1.1 3 {{/figure}}
4
jdr 6.1 5 Aktionen vom Typ //Datenbank-Abfrage// ermöglicht es, eine SQL-Abfrage auszuführen. Dazu muss vorher eine Verbindung in Datenbankverwaltung angelegt worden sein. Innerhalb der Abfrage können Platzhalter verwendet werden, um etwa Formulardaten in die Abfrage einzufügen. Dabei werden sogenannte Prepared-Statements erzeugt, sodass SQL-Injection nicht möglich ist.
gru 1.1 6
7 == Parameter ==
8
jdr 6.1 9 === Details der Datenbank-Abfrage ===
gru 1.1 10
jdr 6.1 11 ; Konfigurierte DB-Abfrage nutzen?
jdr 7.4 12 : Wenn diese Option ausgewählt wird, kann eine im Backend vorkonfigurierte DB-Abfrage ausgewählt werden. Zusätzlichen werden Details zur Abfrage angezeigt.
jdr 7.5 13 ; Verbindung
14 : Datenbank-Verbindung, welche in der Verwaltung vor konfiguriert wurde.
jdr 6.1 15 ; SQL Anweisung
16 : Textfeld für die SQL Anweisung.
17
jdr 6.3 18 == Aktionsplatzhalter ==
19
20 Aktionen vom Typ //Datenbank-Abfrage// stellen [[Aktionsplatzhalter>>Formcycle.UserInterface.Variables||anchor="Aktionsplatzhalter"]] bereit, welche in darauf folgenden Aktionen verwendet werden können.
21
22 === Standardplatzhalter ===
23
24 ; [%$<Aktionsname>.SUCCESS%]
25 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
26 ; [%$<Aktionsname>.RESULT%]
27 : Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
28
29 ; [%$<Aktionsname>.ERROR_CODE%]
30 : Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
31 ; [%$<Aktionsname>.ERROR_MESSAGE%]
32 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
33
34 === Aktionsspezifische Platzhalter ===
35
jdr 7.3 36 ; [%$<Aktionsname>.RESULT.rows[i]['key']%]
sas 9.1 37 : Ein JSON-Array mit den Ergebnissen des SQL-Statements. Jeder Eintrag im JSON-Array ist ein JSON-Objekt, wobei der Schlüssel dem Namen der Datenbankspalte entspricht. Der Index i beginnt mit 0.
jdr 7.3 38 ; [%$<Aktionsname>.RESULT.updateCount%]
jdr 7.2 39 : Für ein Update-Statement: die Anzahl der betroffenen Zeilen in der Datenbank. Ansonsten ist der Wert immer 0.
40
gru 1.1 41 == Hinweis ==
42
43 Das eingegebene Statement wird als //Prepared-Statement// ausgeführt, so dass keine sogenannte //SQL-Injection// moglich ist. Verwenden Sie daher auch keine Hochkommas.
44
sas 9.1 45 (% style="color:#38761d" %)**Richtig**
gru 1.1 46
47 {{code language="sql"}}
48 INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%])
49 {{/code}}
50
sas 9.1 51 (% style="color:#cc0000" %)**Falsch**
gru 1.1 52
53 {{code language="sql"}}
54 INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]')
55 {{/code}}