DBaddObject

Top  Previous  Next

Objekt hinzufügen.

In die Datenbank wird ein Objekt eingefügt. Dieses Objekt ist zu Beginn leer. Als Ergebnis wird ein Handle für dieses Objekt geliefert, mit dessen Hilfe das Objekt mit Informationen gefüllt werden kann. Das Objekt wird einem Segment der Datenbank zugeordnet und einem Plan in diesem Segment zugeordnet. Der Plan kann unter bestimmten Bedingungen ausgelassen werden. Dies ist der Fall, wenn in diesem Segment nur ein Plan existiert oder wenn die Zuordnung des Objekts zu einem Plan später erfolgen soll. Weiterhin können diesem Objekt sofort bei der Erzeugung ein oder mehrere Objektschlüssel zugefügt werden. Die Zahl der Schlüssel ist nicht begrenzt. Mehr als 65535 Schlüssel sind nicht möglich, da jeder Schlüssel ein 2-Byte-Integer ist. Doppelte Schlüssel und auch die 0 sind nicht zugelassen.

Parameter

plan (PPLANS)                                            [IN]

Das neue Objekt wird diesem Plan zugeordnet. Der Wert darf NULL sein. In diesem Fall wird die Zuordnung vom Programm durchgeführt. Wenn hierbei nur ein Plan im Segment vorhanden ist, wird das Objekt diesem Plan zugeordnet, sonst wird es temporär dem Plan 0 zugeordnet. Dies muss vor dem Sichern geändert werden, da Plan 0 nicht gesichert wird.

keys (KEY *)                                                [IN]

Dies ist das Feld mit den Nummern der Schlüssel, die dem neuen Objekt zugeordnet werden. Jeder Schlüssel muss größer als 0 sein. Doppelte Schlüssel werden ignoriert.

keycnt (int)                                                   [IN]

keycnt gibt die Anzahl der Einträge im Feld keys an. Steht hier 0, so werden keine Schlüssel an das Objekt zugewiesen. Dann braucht auch keys kein gültiger Zeiger sein.

Ergebnis

(POBJECT)                                             [OUT]

Als Ergebnis liefert die Funktion ein Handle für das neue Objekt. Dieses identifiziert das Objekt in allen folgenden Aufrufen.

 

Deklaration

#include "database.h"

 

POBJECT DLLENTRY  DBaddObject(

                 PPLANS plan,

                 KEY *keys,

                 int keyCnt

);