Wiki-Quellcode von Datenbank-Abfrage
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
![]() |
8.2 | 1 | {{figure image="db_statement_de.png" width="400" clear="h1"}} |
![]() |
6.1 | 2 | Nutzeroberfläche für Aktionen vom Typ //Datenbank-Abfrage//. |
![]() |
1.1 | 3 | {{/figure}} |
4 | |||
![]() |
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. |
![]() |
1.1 | 6 | |
7 | == Parameter == | ||
8 | |||
![]() |
6.1 | 9 | === Details der Datenbank-Abfrage === |
![]() |
1.1 | 10 | |
![]() |
6.1 | 11 | ; Konfigurierte DB-Abfrage nutzen? |
![]() |
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. |
![]() |
7.5 | 13 | ; Verbindung |
14 | : Datenbank-Verbindung, welche in der Verwaltung vor konfiguriert wurde. | ||
![]() |
6.1 | 15 | ; SQL Anweisung |
16 | : Textfeld für die SQL Anweisung. | ||
17 | |||
![]() |
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 | |||
![]() |
7.3 | 36 | ; [%$<Aktionsname>.RESULT.rows[i]['key']%] |
![]() |
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. |
![]() |
7.3 | 38 | ; [%$<Aktionsname>.RESULT.updateCount%] |
![]() |
7.2 | 39 | : Für ein Update-Statement: die Anzahl der betroffenen Zeilen in der Datenbank. Ansonsten ist der Wert immer 0. |
40 | |||
![]() |
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 | |||
![]() |
9.1 | 45 | (% style="color:#38761d" %)**Richtig** |
![]() |
1.1 | 46 | |
47 | {{code language="sql"}} | ||
48 | INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%]) | ||
49 | {{/code}} | ||
50 | |||
![]() |
9.1 | 51 | (% style="color:#cc0000" %)**Falsch** |
![]() |
1.1 | 52 | |
53 | {{code language="sql"}} | ||
54 | INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]') | ||
55 | {{/code}} |