Aktionen vom Typ Datenbank-Statement 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. Inhalt |
Parameter
Details der Datenbank-Abfrage
- Konfigurierte DB-Abfrage nutzen?
- Wenn diese Option ausgewählt wird, kann eine im Backend vorkonfigurierte DB-Abfrage ausgewählt werden. Zusätzlichen werden Details zur Abfrage angezeigt.
- Verbindung
- Datenbank-Verbindung, welche in der Verwaltung vor konfiguriert wurde.
- SQL Anweisung
- Textfeld für die SQL Anweisung.
Zugriff auf wiederholende Elemente
Werden im Designer wiederholende Elemente eingefügt, dann würde bei Verwendung des normalen Formularplatzhalters als Übergabeparameter alle Werte kommasepariert zurückgeliefert werden, wenn mehr als eine Wiederholung exisitert. Die Zugriff muss hier daher indexiert erfolgen, z.B. [%tfName_0%] für ersten Eintrag, [%tfName_1%] für zweiten Eintrag, usw. Eine detailierte Beschreibung zur Handhabung der Formularplatzhalter bei Wiederholungen finden Sie hier.
Es sind dann auch bedingt mehrere SQL-Aktionen aufzuführen. In der Bedingung könnte z.B. ein Mussfeld innerhalb des Wiederholungsblocks geprüft werden, ob Inhalt vorhanden ist.
Aktionsplatzhalter
Aktionen vom Typ Datenbank-Statement stellen Aktionsplatzhalter bereit, welche in darauf folgenden Aktionen verwendet werden können.
Standardplatzhalter
- [%$<Aktionsname>.SUCCESS%]
- Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
- [%$<Aktionsname>.RESULT%]
- Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
- [%$<Aktionsname>.ERROR_CODE%]
- Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
- [%$<Aktionsname>.ERROR_MESSAGE%]
- Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
Aktionsspezifische Platzhalter
- [%$<Aktionsname>.RESULT.rows[i]['key']%]
- 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.
- [%$<Aktionsname>.RESULT.updateCount%]
- Für ein Update-Statement: die Anzahl der betroffenen Zeilen in der Datenbank. Ansonsten ist der Wert immer 0.
- [%$<Aktionsname>.RESULT.rows.length()%]
- Wie bei allen Listen kann auf die Anzahl der Zeilen über length() zugegriffen werden.
Hinweis
Das eingegebene Statement wird als Prepared-Statement ausgeführt, so dass keine sogenannte SQL-Injection moglich ist. Verwenden Sie daher auch keine Hochkommas.
Richtig
INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%])
Falsch
INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]')
War dieser Artikel hilfreich?
Das ist großartig!
Vielen Dank für das Feedback
Leider konnten wir nicht helfen
Vielen Dank für das Feedback
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren