SQL-Abfrage im HTTP-Server
Es können mit Hilfe der Abfrage "/Query?" SQL-Query Ergebnisse als HTML-Seiten erstellt werden. Hierzu ist es erforderlich, vorher den gewünschten Query-String zu ermitteln (siehe Grundlagen SQL im Control und Grundlagen SQL-Panel). Außerdem ist eine HTML-Basisseite als Referenz zu erstellen.
Folgende Parameter werden für die SQL-Abfrage benötigt:
Parameter | Inhalt |
---|---|
file | Angabe des HTML-Basisfiles (z.B. query/testQuery.html) |
query | Query-String (z.B. SELECT+'_online.._value'+FROM+'Ex*') Achtung: Leerzeichen im Query-String sind durch ,+` zu ersetzen |
lines | Optional: Zeilenanzahl je HTML-Seite [Default= 100] |
head | Optional: HTML-Tabellenkopf aus Queryergebnis [mit Kopf=1, Default =0] |
Der Aufruf der Abfragetabellen sollte immer als fester Aufruf erfolgen (siehe "Aufruf von HTML-Referenzen"), da so keine fehlerhaften Query-Strings entstehen können. Die Abfragetabellen können jedoch auch direkt im Browser aufgerufen werden. (siehe Beispiel unten)
Die erstellte Basisseite muss dabei als HTML-Seite gespeichert werden und einen Platzhalter für die Tabellenzeilen #table innerhalb der Table-Tags besitzen.
In folgender Tabelle werden alle Platzhalter der Basisseite erklärt.
Platzhalter | Bedeutung / Zweck |
---|---|
#table | An dieser Stelle werden die Ergebniszeilen eingefügt |
#lines | Optional: Anzahl der Ergebniszeilen anzeigen |
#page, #pages | Optional: Seitennummer und Gesamtanzahl der Seiten |
#next | Optional: Bei mehreren Seiten wird ein seitenweises Blättern mit den Links <<<>>> ermöglicht |
Im Beispiel sollen alle Online-Werte und Zeiten der DPEs, die mit "Example" beginnen und nicht ungültig sind, angezeigt werden:
1. Query-String:
SELECT '_online.._value', '_online.._stime' FROM+'Example*' WHERE
('_online.._invalid'=0)
2. Die folgende HTML-Basisseite wird unter
<proj_path>/data/http/<sprache>/query/testQuery.html gespeichert.
<html><head><title>Ereignisse</title></head>
<body bgcolor="c0c0c0"><basefont face="arial">
<H3 align=center>Query Ergebnis - #page/#pages</H3>
<p>Anzahl: #lines
<center><table BORDER="1" WIDTH="100%" NOSAVE bgcolor="c0c0c0">
<tr bgcolor="#8888FF">
<th><FONT SIZE=2>DPE</th>
<th><FONT SIZE=2>Wert</th>
<th><FONT SIZE=2>Zeit</th> </tr>
#table
</table></center>
<center><b>#next</b></center></p>
</body></html>
3.Aufruf der Tabelle im Browser:
http://localhost/Query?file=query/testQuery.html%20&query=
SELECT+'_online.._value',+'_online.._stime'+FROM+'Example*'+WHERE+('_online.._invalid'=0)
Fester Aufruf in einer Datei:
<a href="/Query?file=query/testQuery.html&query=SELECT+'_online.._value',
+'_online.._stime'+FROM+'Example*'+WHERE+('_online.._invalid'=0)&lines=20&head=0"
target="result">Alle Example-Dps, die nicht ungültig sind, auflisten</a>