Übergeben von Parametern an Updategrams (SQLXML 4.0)
Gilt für: SQL Server Azure SQL-Datenbank
Updategrams sind Vorlagen. Daher können Sie ihnen Parameter übergeben. Weitere Informationen zum Übergeben von Parametern an Vorlagen finden Sie unter Updategram Security Considerations (SQLXML 4.0).For more information about passing parameters to templates, see Updategram Security Considerations (SQLXML 4.0).
Mit Updategrams können Sie NULL als Parameterwert übergeben. Um den NULL-Parameterwert zu übergeben, geben Sie das Nullwert-Attribut an. Der Wert, der dem Nullwert-Attribut zugewiesen ist, wird dann als Parameterwert bereitgestellt. Updategrams behandeln diesen Wert als NULL.
Hinweis
In sql:header and <updg:header>>, you should specify the nullvalue as unqualified; in <updg:sync>, you specify the nullvalue as qualified (for example, updg:nullvalue).<
Beispiele
Zum Erstellen von Arbeitsbeispielen mit den folgenden Beispielen müssen Sie die anforderungen erfüllen, die in "Requirements for Running SQLXML Examples" angegeben sind.
Bevor Sie die Updategrammbeispiele verwenden, beachten Sie Folgendes:
- Die Beispiele verwenden die Standardzuordnung (d. h. es ist kein Zuordnungsschema im Updategram angegeben). Weitere Beispiele für Updategramme, die Zuordnungsschemas verwenden, finden Sie unter Angeben eines kommentierten Zuordnungsschemas in einem Updategram (SQLXML 4.0).
A. Übergeben von Parametern an ein Updategram
In diesem Beispiel ändert das Updategram den Nachnamen eines Angestellten in der HumanResources.Shift-Tabelle. An das Updategram werden zwei Parameter übergeben: ShiftID zur eindeutigen Identifizierung der Schicht und Name.
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header>
<updg:param name="ShiftID"/>
<updg:param name="Name" />
</updg:header>
<updg:sync >
<updg:before>
<HumanResources.Shift ShiftID="$ShiftID" />
</updg:before>
<updg:after>
<HumanResources.Shift Name="$Name" />
</updg:after>
</updg:sync>
</ROOT>
So testen Sie das Updategram
Kopieren Sie das oben angegebene Updategram in Editor, und speichern Sie es als Datei unter UpdategramWithParameters.xml.
Bereiten Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs) unter Verwendung von ADO zum Ausführen von SQLXML 4.0-Abfragen vor, um das Updategram auszuführen, indem Sie die folgenden Zeilen nach dem
cmd.Properties("Output Stream").Value = outStream
Folgenden hinzufügen:cmd.NamedParameters = True ' CreateParameter arguments: Name, Type, Direction, Size, Value cmd.Parameters.Append cmd.CreateParameter("@ShiftID", 2, 1, 0, 1) cmd.Parameters.Append cmd.CreateParameter("@Name", 200, 1, 50, "New Name")
B. Übergeben von NULL als Parameterwert an ein Updategram
Durch Ausführen eines Updategrams wird der Wert "isnull" dem Parameter zugewiesen, der auf NULL gesetzt werden soll. Das Updategram konvertiert den "isnulll"-Parameterwert in NULL und verarbeitet ihn entsprechend.
Das folgende Updategram legt einen Mitarbeitertitel auf NULL fest:
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header nullvalue="isnull" >
<updg:param name="EmployeeID"/>
<updg:param name="ManagerID" />
</updg:header>
<updg:sync >
<updg:before>
<HumanResources.Employee EmployeeID="$EmployeeID" />
</updg:before>
<updg:after>
<HumanResources.Employee ManagerID="$ManagerID" />
</updg:after>
</updg:sync>
</ROOT>
So testen Sie das Updategram
Kopieren Sie das oben angegebene Updategram in Editor, und speichern Sie es als Datei unter UpdategramPassingNullvalues.xml.
Bereiten Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs) unter Verwendung von ADO zum Ausführen von SQLXML 4.0-Abfragen vor, um das Updategram auszuführen, indem Sie die folgenden Zeilen nach dem
cmd.Properties("Output Stream").Value = outStream
Folgenden hinzufügen:cmd.NamedParameters = True ' CreateParameter arguments: Name, Type, Direction, Size, Value cmd.Parameters.Append cmd.CreateParameter("@EmployeeID", 3, 1, 0, 1) cmd.Parameters.Append cmd.CreateParameter("@ManagerID", 3, 1, 0, Null)
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für