Datenbankfunktionen
Für den Zugriff auf externe Datenbanken stehen einige eingebaute Funktionen zur Verfügung:
DBLOOKUP | liefert einen Wert aus einer Datenbankabfrage |
DBREAD | Setzt Variablen mit dem Ergebnis einer Datenbankabfrage |
DBFIELD | Zugriff auf Felder mit speziellen Namen |
DBWRITE | Schreibt einen Datensatz mit dem Inhalt von Variablen |
DBDELETE | Löscht Datensätze gemäß der angegebenen Bedingung |
DBCOUNT | liefert die Anzahl der Datensätze einer Datenbankabfrage |
DBXML | liefert das Ergebnis einer Datenbankabfrage im XML Format |
DBTABLE | liefert das Ergebnis einer Datenbankabfrage in tabellarischem Format |
Für die Beispiele in den folgenden Beschreibungen wird folgende Tabelle zu Grunde gelegt.
Tabelle: Maschine
Nummer (numerisch) |
Bezeichnung (Text) |
Stoerung (numerisch) |
Zeitpunkt (Datum/Uhrzeit) |
11 | Presse | 0 | 10:00 |
23 | Band 1 | 7 | 10:31 |
34 | Heizung | 0 | 10:00 |
35 | Lüftung | 1 | 10:40 |
49 | Druckluft | 0 | 10:00 |
DBLOOKUP(DbConnection, Field, DataSource[, WhereClause[, OrderClause [DESC]])
Die DBLOOKUP Funktion wird verwendet, um einen Wert eines speziellen Feldes eines angegebenen Datensatzes zu lesen.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
Field | Gibt den Namen des Feldes an, dessen Wert als Ergebnis geliefert werden soll. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
WhereClause | Angabe (wahlweise)
einer Bedingung, die den zu suchenden Datensatz auswählt. Ohne diese Angabe wird der erste Datensatz gelesen. |
OrderClause | Angabe (wahlweise)
eines Feldes nach dem sortiert werden soll. Ohne Angabe wird aufsteigend sortiert, mit der Angabe DESC absteigend. |
Beispiel
Es soll die Bezeichnung von Maschine Nummer 34 aus der Tabelle Maschine gelesen
werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBLOOKUP(DB1, 'Bezeichnung', 'Maschine', 'Nummer=34', 'Zeitpunkt DESC')
liefert die gesuchte Bezeichnung 'Heizung'.
DBREAD(DbConnection, Fields, DataSource, WhereClause[, RecordNumber])
Die Funktion DBREAD liest einen oder mehrere Felder des angegebenen Datensatzes und speichert die Werte in Variablen mit der Bezeichnung DB_FeldName, wobei jeweils FeldName durch den tatsächlichen Namen des Datenbankfeldes ersetzt wird.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
Fields | Zeichenkette mit der Liste der Feldnamen, durch Komma getrennt, deren Werte als Ergebnis geliefert werden soll. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
WhereClause | Angabe einer Bedingung, die den zu suchenden Datensatz auswählt. |
RecordNumber | Angabe (wahlweise) der
Datensatznummer, die gelesen werden soll. Ohne diese Angabe wird der erste Datensatz gelesen. |
Beispiel
Es soll die Störung und der Zeitpunkt von Band 1 (Nummer 23) aus der Tabelle
Maschine gelesen werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBREAD(DB1, 'Stoerung, Zeitpunkt', 'Maschine', 'Nummer=23')
liefert die Störung (Wert = 7) in der Variablen DB_Stoerung und den Zeitpunkt (10:31) in der Variablen DB_Zeitpunkt.
Die Funktion DBFIELD dient zum Zugriff auf Felder, deren Namen Sonderzeichen oder Leerzeichen enthalten. In diesen Fällen ist der Zugriff über die Bezeichnung DB_FeldName nicht möglich.
Parameter | Bedeutung |
FieldName | Zeichenkette, die den Feldnamen enthält. |
Beispiel
Es soll auf ein Feld mit Namen Stoerungs-Nr zugegriffen werden.
DBFIELD('Stoerungs-Nr'):=5;
DBWRITE(DbConnection, DataSource)
Die Funktion DBWRITE schreibt einen neuen Datensatz in die angegebene Tabelle. Die Werte der Felder werden den Variablen mit der Bezeichnung DB_FeldName entnommen, wobei jeweils FeldName durch den tatsächlichen Namen des Datenbankfeldes ersetzt wird.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
Beispiel
Es soll ein neuer Eintrag für Maschine 77 (Rührwerk) in der Tabelle Maschine
aufgenommen werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DB_Nummer := 77;
DB_Bezeichnung := 'Rührwerk';
DB_Stoerung := 0;
DB_Zeitpunkt := '10:00';
DBWRITE(DB1, 'Maschine');
Die Funktion DBWRITE liefert TRUE, wenn der Datensatz geschrieben werden konnte, sonst FALSE.
Achtung
Diese Funktion kann keine bestehenden Datensätze ändern sondern nur neue
Datensätze hinzufügen.
DBDELETE(DbConnection, DataSource, WhereClause)
Die Funktion DBDELETE löscht die Datensätze in der angegebenen Tabelle.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
WhereClause | Angabe einer Bedingung, die
die zu löschenden Datensätze auswählt. Ohne diese Angabe (leer) werden alle Datensätze gelöscht. |
Beispiel
Es soll der Eintrag für Maschine 77 (Rührwerk) aus der Tabelle Maschine
gelöscht werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBDELETE(DB1, 'Maschine', 'Nummer=77');
DBCOUNT(DbConnection, DataSource, WhereClause)
Die Funktion DBCOUNT liefert die Anzahl der Datensätze, die den gegebenen Bedingungen entsprechen.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
WhereClause | Angabe einer Bedingung, die die zu zählenden Datensätze auswählen. |
Beispiel
Es soll die Anzahl der Maschinen in Störung bestimmt werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBCOUNT(DB1, 'Maschine', 'Stoerung<>0')
liefert 2 (Band 1 und Lüftung).
DBXML(DbConnection, SqlStatement)
Die Funktion DBXML liefert das Ergebnis einer Datebankabfrage im XML Format zurück.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
SqlStatement | SQL Ausdruck, der die Datenbankabfrage beschreibt. |
Beispiel
Es soll die Liste der Maschinen in Störung gelesen werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBXML(DB1, 'SELECT * FROM Maschine WHERE Stoerung<>0')
liefert die folgenden zwei Datensätze im XML Format.
<data>
<rs>
<Nummer>23</Nummer>
<Bezeichnung>Band 1</Bezeichnung>
<Stoerung>7</Stoerung>
<Zeitpunkt>10:31</Zeitpunkt>
</rs>
<rs>
<Nummer>35</Nummer>
<Bezeichnung>Lüftung</Bezeichnung>
<Stoerung>1</Stoerung>
<Zeitpunkt>10:40</Zeitpunkt>
</rs>
</data>
DBTABLE(DbConnection, DataSource, Fields, WhereClause)
Die Funktion DBTABLE liest einen oder mehrere Felder des angegebenen Datensatzes und liefert die Datensätze als Zeilen mit durch Tabulator getrennten Werten.
Parameter | Bedeutung |
DbConnection | Zeichenkette, die die
Verbindung zur Datenbank angibt. Diese Zeichenkette ist eine
Datenverknüpfungseigenschaft und kann über ein geeignetes Programm
generiert werden. In PageControl dient hierzu die Funktion Extras-Datenbankverbindungen. |
DataSource | Name der Tabelle oder Abfrage, die den Datensatz liefern soll. |
Fields | Zeichenkette mit der Liste der Feldnamen, durch Komma getrennt, deren Werte als Ergebnis geliefert werden soll. |
WhereClause | Angabe einer Bedingung, die den zu suchenden Datensatz auswählt. |
Beispiel
Es sollen alle
Maschinen in Störung als Tabelle ausgegeben werden.
Die notwendige Verbindungszeichenfolge soll bereits in Variable DB1 gespeichert
sein.
DBTABLE(DB1, 'Maschine', 'Nummer, Bezeichnung', 'Stoerung>0')
liefert die folgende Tabelle.
23 Band 1
35 Lüftung