SQL-Anwendungen
Hinweis: Diese Feature sind Teil der Visforms Subscription und in der freien Visforms Version nicht enthalten.
Visforms kennt unterschiedliche Arten von SQL-Feldern:
- SQL-Felder mit Optionenlisten:
- Listbox SQL,
- Radio SQL,
- Checkbox Gruppe SQL.
- SQL-Felder mit Text-Ähnlichkeit:
- Text,
- E-Mail,
- Datum,
- URL,
- Zahl,
- Telefon,
- Versteckt.
Visforms kennt 4 Anwendungen von SQL bei den SQL-Feldern:
- Optionenlisten für Listbox-Felder mit SQL füllen
- Optionenlisten für Radiobutton und Checkbox-Gruppen mit SQL füllen
- Einmaligen Default-Wert mit SQL setzen
- Aktualisierten Feld-Wert mit SQL setzen
Unterschiede bei den SQL-Anwendungen
Die 4 Anwendungen von SQL unterscheiden sich hinsichtlich
- der Zeitpunkte der Ausführung des SQL-Statements,
- den Optionen in der Feld-Konfiguration.
Zeitpunkte der Ausführung der SQL-Statements
Die verschiedenen Arten von SQL-Feldern haben Unterschiede bezüglich den Zeitpunkten der Ausführung des SQL-Statements.
Listbox SQL
Bei dem Feld-Typ Select-SQL wird das SQL-Statement bei jedem Laden des Formulars ausgeführt und das Feld aktualisiert.
Es ist ohne Bedeutung, ob es sich um das erste Laden oder um ein Nachladen des Formulars handelt.
In beiden Fällen wird das SQL-Statement erneut ausgeführt und das SQL-Feld aktualisiert.
Ein Nachladen des Formulars erfolgt, wenn der Benutzer seine Eingabe in einem Trigger-Feld im Formular ändert.
Ein Trigger-Feld ist ein Feld, welches in der Feld-Konfiguration in der Option Bei Änderung von nachladen eingetragen wurde.
Es ist für die Neuausführung des SQL-Statements ohne Bedeutung, zu welchem SQL-Feld das Trigger-Feld genau gehört.
Die Änderung eines einzigen Trigger-Feldes im Formular führt:
- zum Nachladen des Formulars und folglich
- zur Neuausführung der SQL-Statements aller SQL-Felder.
Radio-SQL und Checkbox-Gruppe-SQL
Bei den beiden Feld-Typen Radio-SQL und Checkbox-Gruppe-SQL wird das SQL-Statement nur beim ersten Laden des Formulars ausgeführt und das Feld aktualisiert.
Es wird also ausschließlich der Anfangs-Wert durch Auswertung des SQL-Statements ermittelt.
Diese Anfangs-Werte ändern sich auch beim Nachladen nicht mehr.
Diese Anfangs-Werte bleiben bei Änderung eines Trigger-Feldes konstant.
Text-ähnliche SQL-Felder
Bei allen Text-ähnlichen SQL-Feldern gibt es 2 Möglichkeiten und 2 SQL-Statements:
- Das eine SQL-Statement legt den Default-Wert beim ersten Laden des Formulars fest.
- Das andere SQL-Statement legt den aktualisierten Feld-Wert beim Nachladen des Formulars fest.
Ausführung in der Daten-Editier-Ansicht
In der Daten-Editier-Ansicht im Frontend kann die erneute Ausführung des SQL-Statements erwünscht oder unerwünscht sein.
Ob eine erneute Ausführung des SQL-Statements erfolgen soll, entscheiden Sie.
Verwenden Sie dazu die Option SQL im Form Edit ausführen in der Feld-Konfiguration.
Hinweis: Im Falle der erneuten Ausführung des SQL-Statements in der Daten-Editier-Ansicht verändern sich die Daten die der Benutzer ursprünglich mit dem Formular übermittelt hat.
Darstellungen in der Feld-Konfiguration
Die verschiedenen Arten von SQL-Feldern haben Unterschiede bezüglich den Optionen in der Feld-Konfiguration.
Listbox SQL
Für den Feld-Typ Listbox SQL gibt es genau ein SQL-Statement.
Dieses SQL-Statement wird zu allen Zeitpunkten ausgeführt.
Zeitpunkte sind hier das Laden des Formulars und das Nachladen des Formulars infolge von Änderungen an Trigger-Feldern.
Radio-SQL und Checkbox-Gruppe-SQL
Für beiden Feld-Typen Radio-SQL und Checkbox-Gruppe-SQL gibt es je genau ein SQL-Statement.
Dieses SQL-Statement wird genau ein Mal beim ersten Laden des Formulars ausgeführt.
Das Feld reagiert nicht auf das Nachladen des Formulars infolge von Änderungen an Trigger-Feldern.
Text-ähnliche SQL-Felder
Für den Text-ähnlichen SQL-Feldern gibt es zwei SQL-Statements.
Das SQL-Statement in der Gruppe Startwert-Einstellungen wird genau ein Mal beim ersten Laden des Formulars ausgeführt.
Das SQL-Statement in der Gruppe Dynamische-Einstellungen wird bei jedem Nachladen des Formulars infolge von Änderungen an Trigger-Feldern ausgeführt.
Gegenseitiger Ausschluss von Optionen
Es gibt im Zusammenhang mit SQL-Feldern einen gegenseitigen Ausschluss von zwei Feld-Optionen.
Die Ausführung des SQL-Statements beim Nachladen des Formulars infolge von Änderungen an Trigger-Feldern funktioniert nicht zusammen mit der Option bedingte Anzeige.
Diese beiden Möglichkeiten sind nicht gleichzeitig einstellbar, was sich auch in der entsprechenden Ausblendung der Option bedingte Anzeige zeigt.
Hohe Sicherheit
Visforms stellt sicher, dass die Verwendung von SQL Feldern technisch sicher ist. Die Parameter können etwa nicht für eine SQL-Injection oder andere Hacker-Methoden genutzt werden.
Zu den Maßnahmen, die für diese hohe Sicherheit sorgen, gehören:
- Einhaltung der Best Praxis der Cyber-Sicherheit im Bereich der Implementierung.
- Internes Testen mit einschlägigen Tools.
Darunter auch das verbreitetet Python Tool Ghauri.
Ein erweitertes plattformübergreifendes Tool, das den Prozess der Erkennung und Ausnutzung von Sicherheitslücken durch SQL-Injection automatisiert. - Externes Testen von Visforms bei seinem Einsatz durch Industrie-Kunden, die sich einem Sicherheits-Audit unterziehen.