Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Updategrams är mallar; Därför kan du ge dem parametrar. För mer information om hur parametrar skickas till mallar, se Updategram Security Considerations (SQLXML 4.0).
Updategrams låter dig skicka NULL som parametervärde. För att skicka NULL-parametervärdet specificerar du nullvärdesattributet . Värdet som tilldelas nullvärdesattributet anges sedan som parametervärdet. Updategrams behandlar detta värde som NULL.
Anmärkning
I <sql:header> och <updg:header> ska du ange nullvärdet som okvalificerat; medan du i <updg:sync> anger nullvärdet som kvalificerat (till exempel updg:nullvalue).
Examples
Om du vill skapa arbetsexempel med hjälp av följande exempel måste du uppfylla de krav som anges i Krav för att köra SQLXML-exempel.
Innan du använder exemplen med uppdateringsgrammet, notera följande:
- Exemplen använder standardmappning (det vill säga att inget mappningsschema specificeras i updategrammet). Fler exempel på uppdateringsgram som använder mappningsscheman finns i Ange ett kommenterat mappningsschema i ett Updategram (SQLXML 4.0).
A. Att skicka parametrar till ett updategram
I detta exempel ändrar updategrammet efternamnet på en anställd i tabellen HumanResources.Shift. Updategrammet skickas två parametrar: ShiftID, som används för att unikt identifiera en skift, och 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>
För att testa updategrammet
Kopiera updategrammet ovan till Notepad och spara det som en fil som UpdategramWithParameters.xml.
Förbered SQLXML 4.0-testskriptet (Sqlxml4test.vbs) i Using ADO to Execute SQLXML 4.0 Queries för att köra updategrammet genom att lägga till följande rader efter :
cmd.Properties("Output Stream").Value = outStreamcmd.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. Att skicka NULL som parametervärde till ett updategram
Vid exekvering av ett updategram tilldelas värdet "isnull" till parametern du vill sätta till NULL. Updategram omvandlar parametervärdet "isnulll" till NULL och bearbetar det därefter.
Följande uppdateringsgram sätter en anställds titel till NULL:
<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>
För att testa updategrammet
Kopiera updategrammet ovan till Notepad och spara det som en fil som UpdategramPassingNullvalues.xml.
Förbered SQLXML 4.0-testskriptet (Sqlxml4test.vbs) i Using ADO to Execute SQLXML 4.0 Queries för att köra updategrammet genom att lägga till följande rader efter :
cmd.Properties("Output Stream").Value = outStreamcmd.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)