Teilen über


Ü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:

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
  1. Kopieren Sie das oben angegebene Updategram in Editor, und speichern Sie es als Datei unter UpdategramWithParameters.xml.

  2. 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 = outStreamFolgenden 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
  1. Kopieren Sie das oben angegebene Updategram in Editor, und speichern Sie es als Datei unter UpdategramPassingNullvalues.xml.

  2. 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 = outStreamFolgenden 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

Sicherheitsüberlegungen zu Updategramms (SQLXML 4.0)