Das sd:with-param- Element

Die Aufgabe dieses Elements ist es, einer im übergeordneten sd:rs -Element verwendeten Abfrage mit Parametern Vorbelegungen für diese mitzugeben. Für jeden in der Abfrage definierten Parameter kann ein sd:with-param -Element mit einem passenden sd:sql-param -Attribut genutzt werden. Es gibt zwei grundsätzliche Verwendungsmöglichkeiten: Entweder wird der Wert des Parameters vom Ersteller der Ausgabeseite fest vorgegeben, indem auf ein sd:param-name -Attribut verzichtet und nur der Standardwert sowie der Datentyp innerhalb des sd:with-param -Elements definiert wird. Diese Technik ermöglicht es, dieselbe Abfrage auf verschiedenen Ausgabeseiten mit verschiedenen, jeweils statischen Parameterwerten zu verwenden. Die zweite Möglichkeit besteht darin, dem sd:with-param -Element einen sd:param zuzuordnen, so daß dessen Wert übergeben wird. Da der Wert eines sd:param -Elements statisch, durch Url-Überschreibung oder durch die Eingabe eines Wertes in ein Formularfeld zur Ausführungszeit vom Benutzer festgelegt werden kann, ist der Wert entsprechend variabel.

Der Wert ergibt sich (1) aus dem sd:std-value -Attribut, (2) dem Standardwert des sd:param -Elements, (3) dessen Url-Überschreibung oder (4) dessen Überschreibung durch eine benutzerdefinierte Eingabe in einem Formularfeld. Die Hierarchie gilt in der umgekehrten Reihenfolge: Ein zugewiesenes sd:param -Element hat mit einem Formulareintrag die höchste Priorität, es folgt die Url-Überschreibung, der Standardwert von sd:param . Nur falls ein solches Element nicht zugeordnet ist, gilt das lokale sd:std-value -Attribut.

Der Datentyp der Eingabe wird vom sd:param -Element abgeleitet, ist als Wert des sd:datatype -Attributes definiert oder wird als String/nvarchar interpretiert, falls explizite Definitionen fehlen.

Eine zweite Verwendung besteht darin, dieses Element im Kontext eines sd:calendar -Elements zu nutzen, um den Wert für eine parent-col-Spalte zu übergeben.

Typ
Parent-Elemente
Attribute
sd:sql-param *
Legt den Namen des Sql-Parameters für die übergeordnete Abfrage fest, dem das sd:with-param -Element einen Wert zuweisen soll. Die Abfrage muß mit einer Variablendeklaration (DECLARE <@Variablenname Datentyp> [, weitere Variablen/Datentypen]) beginnen. Werden keine Variablen benötigt, so muß das erste Wort einer Abfrage SELECT sein.
sd:param-name
Benennt das sd:param -Element, mit dessen Wert der durch sd:sql-param bezeichnete Sql-Parameter initialisiert werden soll.
sd:cache-name
Erwartet eine Zeichenfolge als Wert. Ist dem Parameter ein Wert zugewiesen, so wird dieser unter der angegebenen Zeichenfolge mit vorgestelltem '$' gecacht. Anschließend kann dieser Wert für alle folgenden Aktionen mit '$' + Zeichenfolge verwendet werden.
sd:datatype
Legt den Datentyp fest, nach welchem der Wert von sd:std-value oder der vom Nutzer eingegebene Wert interpretiert und an die Datenbank weitergegeben wird. Fehlt dieser Wert, so wird als Standard-Datentyp String/nvarchar verwendet. Ist dieser Wert gesetzt und kann der vom Benutzer eingegebene Wert nicht konvertiert werden, so wird eine Fehlermeldung von der Laufzeitumgebung erzeugt. Fehlt dieser Wert, so wird der vom Benutzer eingegebene Wert an die Datenbank weitergegeben und eine eventuelle Fehlermeldung vom Sql-Server erzeugt.
sd:std-value
Legt den Standardwert für den Sql-Parameter fest. Es kann Fälle geben, in welchen eine Sql-Abfrage von einer Ausgabeseite her immer mit demselben Wert aufgerufen werden soll, ohne daß ein sd:param -Element genutzt wird. Dann kann dieses Attribut den fixierten Wert erhalten, das sd:param-name -Attribut wird ignoriert.
sd:missing-value
Der Wert dieses Attributes wird für die Spalte verwendet, falls alle bisherigen Prüfungen noch keinen Wert bereitgestellt haben. Falls bsp. ein sd:std-value - Wert mit '%' und dem Namens eines Parameters definiert wurde, der Parameter jedoch nicht belegt ist, ergibt sich ein nicht definierter Wert. Stattdessen wird der Wert von 'sd:missing-value' eingetragen.
sd:for
Der Wert dieses Attributes muß gleich dem Namen eines sd:input-table -Elements sein. Der zusätzlich anzugebende Spaltenname wird verwendet, um den Wert dieses sd:with-param -Elements zu bestimmen.
sd:col
Legt den Namen der Spalte fest, die als Aktualisierungsquelle für dieses sd:with-param -Element genutzt werden soll.
sd:remove-when-changed
sd:is-detail-group
Gültige Werte sind true/false. Falls 'true' und falls der übergeordnete View Detailspalten zum Anhaken enthält, dann ist der so ausgezeichnete Sql-Parameter jener, der als Gruppenfilter für den Detail-View genutzt wird.
Keine Child- oder inneren Elemente zulässig


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.