將參數傳遞至 Updategram (SQLXML 4.0)
Updategram 是範本;因此,您可以傳遞參數。 如需將參數傳遞至範本的詳細資訊,請參閱 Updategram 安全性考慮 (SQLXML 4.0) 。
Updategram 可讓您傳遞 NULL 做為參數值。 若要傳遞 NULL 參數值,您可以指定 nullvalue 屬性。 指派給 nullvalue 屬性的值接著會以參數值的形式提供。 Updategram 會將此值視為 NULL。
注意
在 sql:header 和 <updg:header>> 中,您應該將 null 值指定為不限定值;而在< updg:sync> 中,您會將 null 值指定為限定值(例如 updg:nullvalue)。<
範例
若要使用下列範例建立工作範例,您必須符合執行 SQLXML 範例需求中指定的需求。
使用 updategram 範例之前,請注意下列事項:
- 這些範例會使用預設對應(也就是說,updategram 中未指定任何對應架構)。 如需使用對應架構之 Updategram 的更多範例,請參閱 在 Updategram 中指定批注對應架構 (SQLXML 4.0) 。
A. 將參數傳遞至 updategram
在此範例中,updategram 會變更 HumanResources.Shift 數據表中員工的姓氏。 updategram 會傳遞兩個參數:ShiftID,用來唯一識別班次和 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>
測試 updategram
將上述 updategram 複製到 [記事本],並將它儲存到檔案中作為UpdategramWithParameters.xml。
在 使用 ADO 執行 SQLXML 4.0 查詢以執行 updategram 中準備 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs),方法是在 之後
cmd.Properties("Output Stream").Value = outStream
新增下列幾行來執行 updategram: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. 將 NULL 當做參數值傳遞至 updategram
在執行 updategram 時,會將 「isull」 值指派給您想要設定為 NULL 的參數。 Updategram 會將 “isnulll” 參數值轉換為 NULL,並據以處理它。
下列 Updategram 會將員工職稱設定為 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>
測試 updategram
將上述 updategram 複製到 [記事本],並將它儲存至檔案作為UpdategramPassingNullvalues.xml。
在 使用 ADO 執行 SQLXML 4.0 查詢以執行 updategram 中準備 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs),方法是在 之後
cmd.Properties("Output Stream").Value = outStream
新增下列幾行來執行 updategram: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)