Zweck
Definiert einen Datenserver, der seine Daten aus einem strukturierten zwei-dimensionalen Array ermittelt.
Klasse
bArrayServer
Zugriffe
BoF | (Access) |
Children | (Access) |
Data | (Access) |
DBStruct | (Access / Assign) |
Deleted | (Access) |
DeletedScope | (Access / Assign) |
EoF | (Access) |
ErrInfo | (Access) |
Filter | (Access / Assign) |
LastRec | (Access) |
OrderBottomScope | (Access / Assign) |
OrderKeyVal | (Access) |
OrderTopScope | (Access / Assign) |
ReadOnly | (Access / Assign) |
RecCount | (Access) |
RecNo | (Access / Assign) |
SuspendNotificationCount | (Access) |
Used | (Access) |
Methoden
FLock()
Interne Methoden
Erbt von
DataServer
Vererbt an
<kein Nachfahre>
Beschreibung
Die Klasse bArrayServer ermöglicht ein zwei-dimensionales Array wie eine Datenbank zu bearbeiten. Die erste Dimension des Array's stellt die einzelnen Datensätze und die zweite Dimension die einzelnen Feldwerte innerhalb eines Datensatzes dar.
auData[<Record>] [<Field>]
Die Anzahl der Elemente und deren Datentypen in der zweiten Dimension des Array's müssen gleich sein.
Die Struktur des Array's wird ähnlich wie bei der Klasse DBServer über ein Struktur-Array beschrieben (siehe auch bArrayServer:DBStruct), daß beim Erzeugen als Argument angegeben werden muss.
Beliebige Objekte können mit der Methode DataServer:RegisterClient() beim ArrayServer als Client registriert werden. Voraussetzung hierfür ist aber, dass in dem Objekt die Methode Notify() implementiert ist. Diese Methode wird bei jeder Veränderung im ArrayServer (Satzbewegung, Feldänderung usw.) automatisch vom ArrayServer aufgerufen und informiert den Client über die Veränderung.
Bevor ein registrierter Client zerstört wird, muss dieser mit der Methode DataServer:UnregisterClient() vom ArrayServer abgemeldet werden.
Beispiel
Das folgende Beispiel erzeugt ein Objekt der Klasse bArrayServer mit den vier Feldern ID, LASTNAME, FIRSTNAME und AGE und führt einige Operationen damit aus.
// Struktur-Array definieren
auStruct := {;
{"ID", "C", 5, 0},;
{"LASTNAME", "C", 20, 0},;
{"FIRSTNAME", "C", 15, 0},;
{"AGE", "N", 3, 0};
}
// Daten-Array definieren
auData := {;
{"00001", "Schmidt", "Harald", 41},;
{"00007", "Bond", "James", 37};
}
// bArrayServer erzeugen
oasServer := bArrayServer{auStruct, auData}
// neuen Datensatz anhängen und mit Werten füllen
IF oasServer:Append()
oasServer:FieldPut(#ID, "00002")
oasServer:FieldPut(#LASTNAME, "Bär")
oasServer:FieldPut(#FIRSTNAME, "Puh")
oasServer:FieldPut(#AGE, 4)
ENDIF
// alle Datensätze einzeln löschen
oasServer:GoTop()
WHILE !oasServer:EOF
oasServer:Delete()
oasServer:Skip(1)
END
Siehe auch
Page url: http://www.YOURSERVER.com/index.html?barrayserver.htm