next up previous contents index
Next: Der Eintrag wrap_param im Up: DB-Table-Submodule Previous: Der Eintrag aendern_cols im

Der Eintrag wrapper im Detail

 Der Eintrag 'wrapper' kann Bestandteil der Bereiche 'neues_tupel', 'anzeige' und 'loeschen' sein. Wird über die Aktion 'neues_tupel' ein neues Datentupel erzeugt, so wird es standardmäßig in die Leittabelle eingefügt. Manchmal ist es aber notwendig, dass gleichzeitig Einfügungen in andere Relationen vorgenommen werden, um beispielsweise referentielle Integritäten zu erfüllen. Zu diesem Zweck steht das Array 'wrapper' (hier Bestandteil von 'neues_tupel') zur Verfügung, das nach den Namen der Relationen indiziert ist, in die Einfügungen vorgenommen werden sollen. Der zugehörige Wert ist wiederum ein Array, das nun nach den Attributnamen der Relation indiziert ist. Der den Attributen zugeordnete Wert kann ein Platzhalter sein, der sich auf ein Feld des neues_tupel-Formulars bezieht und über 'values' (siehe Abschnitt [*]) definiert ist. Als Platzhalter sollte die Version mit den runden Klammern ('$(...)') verwendet werden, damit keine Konvertierungen durchgeführt werden (siehe Abschnitt ). An Stelle der Platzhalter können auch SQL-Anfragen, in der Form wie sie bereits in 'values' Verwendung gefunden haben (als String mit führendem 'SQL:'), eingesetzt werden. Durch 'wrapper' ist auf diese Weise also festgelegt, welche Werte aus dem neues_tupel-Formular, welchen Attributen in welchen Relationen zugeordnet werden müssen. Werden im Formular auch Felder verwendet, die keine Entsprechung in der Leittabelle haben, so muss auch für die Leittabelle ein wrapper angegeben werden.

Neben der Aktion 'neues_tupel' wird 'wrapper' auch bei den Aktionen 'hinzufuegen(_multi)' und 'verschieben(_multi)' (hier Bestandteil von 'anzeige') benötigt. Hier muss 'wrapper' definiert sein, damit die Anwendung weiß, in welche Relationen die Einfügungen vorgenommen werden sollen. Im Gegensatz zu 'neues_tupel' beziehen sich die Platzhalter hier auch auf die Ergebnismenge des Query.

Im Zusammenhang mit der Aktion 'loeschen' kann 'wrapper' (hier Bestandteil von 'loeschen') verwendet werden, um gleichzeitig Löschungen in weiteren Relationen als der Leittabelle durchzuführen. Das Format ist identisch zu oben. Dabei sind nur Attribute zu spezifizieren, mit denen der zu löschenden Eintrag in der Relation eindeutig identifiziert werden kann. Die Platzhalter beziehen sich auch hier auf die Ergebnisse des Query. Das Löschen in der Leittabelle wird in der Regel nach den Primärschlüsseln vorgenommen. Soll nach anderen Attributen in der Leittabelle gelöscht werden, kann dies ebenfalls durch einen entsprechenden Wrapper-Eintrag vorgenommen werden.

Das folgende Beispiel erzeugt in der HTML-Ausgabe zwei Tabellen. Die obere stellt die für Vorlesungen reservierten Räume dar, die untere zeigt alle Räume. Aus der unteren können durch Anklicken Räume zur Relation 'vorlesung_findet_statt_in' hinzugefügt werden, die dann auch in der oberen Tabelle angezeigt werden. Der Wrapper ordnet das Feld 'raumnummer' dem Attribut 'raumnummer' der Relation 'vorlesung_findet_statt_in' zu. Darüber werden noch einige feste Werte vorgegeben (wichtig ist die richtige Vorlesungsnummer).


next up previous contents index
Next: Der Eintrag wrap_param im Up: DB-Table-Submodule Previous: Der Eintrag aendern_cols im
Copyright Munich Network Management Team