Übergeben von Parametern an Updategrams (SQLXML 4.0)
Updategrams sind Vorlagen. Daher können Sie ihnen Parameter übergeben. Weitere Informationen zum Übergeben von Parametern an Vorlagen finden Sie unter Sicherheitsüberlegungen zu Updategrams (SQLXML 4.0).
Mit Updategrams können Sie NULL als Parameterwert übergeben. Um den NULL-Parameterwert zu übergeben, geben Sie das nullvalue-Attribut an. Der Wert, der dem nullvalue-Attribut zugewiesen wird, wird dann als Parameterwert zur Verfügung gestellt. Updategrams behandeln diesen Wert als NULL.
Hinweis |
---|
In <sql:header> und <updg:header> geben Sie den nullvalue-Wert als nicht qualifiziert an, während Sie den nullvalue-Wert in <updg:sync> als qualifiziert angeben (z. B. updg:nullvalue). |
Beispiele
Damit mithilfe der folgenden Beispiele funktionierende Beispiele erstellt werden können, müssen die in Anforderungen zum Ausführen von SQLXML-Beispielen angegebenen Anforderungen erfüllt sein.
Bevor Sie die Updategrambeispiele verwenden, beachten Sie Folgendes:
- Die Beispiele verwenden die Standardzuordnung (d. h. es ist kein Zuordnungsschema im Updategram angegeben). Weitere Beispiele für Updategrams, die Zuordnungsschemas verwenden, finden Sie unter Angeben eines Zuordnungsschemas mit Anmerkungen 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) in Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen auf die Ausführung des Updategram vor. Fügen Sie die folgenden Zeilen an cmd.Properties("Output Stream").Value = outStream an:
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) in Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen auf die Ausführung des Updategram vor. Fügen Sie die folgenden Zeilen an cmd.Properties("Output Stream").Value = outStream an:
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)