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.

 

DBFIELD(FieldName)

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