Datenbankabfragen 

In QuickHMI haben Sie die Möglichkeit, sich ganze Tabelleninhalte aus Datenbanken auf der Oberfläche anzeigen zu lassen.

Um eine Datenbankabfrage (SQL Statement) anzulegen, braucht es natürlich eine Datenbankverbindung.


Als ersten Schritt klicken Sie im Projekt Explorer auf „Datenbank“ / „Abfragen“.


Im sich öffnenden Fenster klicken Sie auf das Plus-Icon, um eine neue Datenbankabfrage anzulegen.



Vergeben Sie anschließend einen „Namen“, wählen die „Verbindung“ aus, und wählen den Ausführungsmodus.

Anschließend geben Sie den gewünschten SQL ein und speichern Ihre Eingaben.


Es gibt 2 Ausführungsmodi, die für Datenbankabfragen zur Verfügung stehen. Die Modi unterscheiden sich zum einen darin,

wann und von wem diese ausgelöst werden und zum anderen darin, welche Benutzer welchen Daten angezeigt bekommen.



Intervall


Die Datenbankabfrage wird automatisch vom Server in einem festgelegten Intervall (schnellstes Intervall 500ms) ausgeführt.

Alle Benutzer bekommen automatisch immer die gleichen aktuellen Daten angezeigt.



Manuell


Die Datenbankabfrage wird einmalig beim Start des Servers ausgeführt, um einen initialen Datenstand zu bekommen.

Danach wird diese Abfrage nur noch bei einer Benutzerinteraktion (mittels angelegter Aktion bspw. bei der Betätigung eines Buttons) ausgeführt.


Die Tabelle wird nun mit dem zu diesem Zeitpunkt aktuellen Daten der Datenbank gefüllt und solange nicht aktualisiert, bis die Aktion erneut ausgeführt wird.

Führen andere Benutzer in dieser Zeit eine Aktion aus, die diese Datenbankabfrage betrifft, hat dies keinen Einfluss auf andere Benutzer.



Im SQL können Sie Platzhalter verwenden, die zum Ausführungszeitpunkt der Abfrage durch den Inhalt von Variablen ersetzt werden. 

In diesem Beispiel wollen wir die Zahl der aktuell verbunden Clients in einer E-Mail verwenden. Diesen Wert finden wir in der Systemvariable „current_session_count“.

Der Datenquellennamen der Systemdatenquelle ist „System“.



Um eine Variable als Platzhalter in einer Abfrage zu verwenden, setzen Sie dem Namen der Variable (inklusive Datenquellennamen) ein @-Zeichen voran.

Datenquellen- und Variablenname werden durch einen Punkt getrennt. In diesem Fall also @System.current_session_count.








Bei den Steuerelementen auf der linken Seite, erscheint nun das neue Element „DatabaseTabe“, welches wie alle anderen Elemente auch, auf die Oberfläche gezogen werden kann.

Wählen Sie bei den „Eigenschaften“ für das Steuerelement unter „DatabaseQuery“ die zuvor angelegte Datenbankabfrage aus.





Sind alle Eingaben getätigt und wird die Laufzeit ausgeführt, wird die Tabelle aus der Datenbank angezeigt.

Die Daten können über die Spalten beliebig sortiert werden. (Die Darstellung kann künftig im Detail variieren)




Kurze Erläuterung der Element-spezifischen Eigenschaften


  • Info

Wenn diese Option aktiviert ist, werden Informationen über die Tabelle angezeigt, einschließlich Informationen über gefilterte Daten.

Mit dieser Option kann diese Funktion aktiviert oder deaktiviert werden.


  • Ordering

Aktiviert oder deaktiviert die Möglichkeit, die Daten in der Tabelle nach gewünschten Spalten zu sortieren.


  • Filtering

Aktiviert oder deaktiviert die Suchfunktion innerhalb der Tabelle.


  • Paging

Steuert, ob der Benutzer zur Laufzeit die Anzahl auf einer Seite dargestellter Datensätze ändern kann.

Ist diese Option deaktiviert, werden immer alle Datensätze angezeigt.


  • PageSize

Hier kann eine Folge von Zahlen (mit Komma getrennt) angegeben werden, die angibt,

welche Auswahloptionen der Benutzer hat, wenn Paging aktiviert ist.


Im unteren Beispiel ist Paging aktiviert, und die Seitengröße auf 50 festgelegt.

Dem Benutzer wird also zurLaufzeit keine Möglichkeit gegeben, die Seitengröße anzupassen.


Durch die Eingabe von „50, 100, -1“ könnte eine Auswahl zwischen 50, 100 und allen Einträgen getroffen werden.

Mit Ausnahme der -1 (Diese steht für alle Datensätze auf einer Seite) müssen Zahlen positiv sein.