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>

Abbildung 1. Query Ergebnis