DBselectObjectsByKeygroup

Top  Previous  Next

Objekte nach Objektschlüsseln selektieren.

Mit dieser Prozedur werden Objekte anhand ihrer Objektschlüssel als Selektionskriterium ermittelt. Dabei werden alle Segmente der Datenbank, die das Flag selectable gesetzt haben, nach dem Kriterium key1 bis key2 durchsucht. Es stehen insgesamt vier Selektionskonstanten zur Verfügung. Mit OR werden die Objekte, deren Objektschlüssel im Bereich key1 bis key2 liegen zur bestehenden Selektionsmenge hinzugefügt, mit AND werden nur solche Objekte in der Selektionsmenge belassen, die auch das neue Kriterium erfüllen. Mit NOT werden nur die Objekte in der Selektionsmenge belassen, die das neue Kriterium nicht erfüllen. Mit NEW wird die alte Selektionsmenge geleert und die Objekte, die das neue Kriterium erfüllen, werden zur Selektionsliste hinzugefügt. Das Kriterium für das Erfüllen der neuen Selektionsbedingung ist dabei, dass das Objekt einen Objektschlüssel besitzt, der gleich oder größer als key1 ist und kleiner oder gleich key2 ist. Dabei darf key1 nicht größer als key2 sein.

Parameter

root (PROOT)                                             [IN]

Das Handle der Datenbank, es werden alle Segmente mit dem Flag selectable berücksichtigt.

fkt (SELECT_FUNKTION)                         [IN]

Es stehen vier verschiedene Konstanten zur Verfügung:

SELECT_NOT  Ein Objekt wird aus der Selektionsliste entfernt, wenn es einen Schlüssel im Bereich key1 bis key2 besitzt.

SELECT_OR Ein Objekt wird in die Selektionsliste aufgenommen, wenn es einen Schlüssel im Bereich key1 bis key2 besitzt.

SELECT_NEW  Die Selektionsliste wird geleert und dann werden die Objekte in die Liste aufgenommen, die einen Schlüssel im Bereich key1 bis key2 besitzen.

SELECT_AND  Ein Objekt wird aus der Selektionsliste entfernt, wenn es in diesem Segment liegt und keinen Schlüssel im Bereich key1 bis key2 besitzt.

key1 (KEY)                                                  [IN]

Dies ist der kleinere der beiden Werte, in deren Bereich ein Schlüssel des Objekts liegen muss, um die Bedingung zu erfüllen. Der Wert von key1 muss kleinergleich sein als der Wert von key2.

key2 (KEY)                                                  [IN]

Dies ist der größere der beiden  Werte, in deren Bereich ein  Schlüssel des Objekts liegen muss, um die Bedingung zu erfüllen. Wenn beide Werte gleich sind, wird nur der Bereich der Schlüssel auf einen Schlüssel reduziert. Der Wert von key2 muss größergleich sein als der Wert von key1.

Ergebnis

(T_ERROR)                                            [OUT]

Wenn die Prozedur fehlerfrei ausgeführt wurde, ist das Ergebnis ERROR_OK, sonst eine der Fehlermeldungen aus error.h.

Deklaration

#include "database.h"

 

T_ERROR DLLENTRY DBselectObjectsByKeygroup (

     PROOT             root,

     SELECT_FUNKTION      fkt,

     KEY                  key1,

     KEY                  key2

);

Verwandte Funktion

DBselectObjectsByArea

DBselectObjectsByKeylist

DBselectObjectsByObjectlist