Megosztás a következőn keresztül:


Paraméterek továbbítása Updategramoknak (SQLXML 4.0)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az updategramok sablonok; Ezért átadhatod nekik a paramétereket. További információért a paraméterek sablonokra történő átadásáról lásd: Updategram Security Considerations (SQLXML 4.0).

Az updategramok lehetővé teszik, hogy a NULL paraméterértékként adj át. A NULL paraméter értékének átadásához megadjuk a nullvalue attribútumot. A nullérték attribútumhoz rendelt érték ekkor a paraméterérték. A updategramok ezt az értéket NULL-ként kezelik.

Megjegyzés:

A< sql:header> és <updg:header> esetén a nullértéket nem minősítettnek kell megadni; míg az< updg:sync-ben> a nullértéket minősítettnek kell megadni (például updg:nullvalue).

Példák

Ha az alábbi példák alapján szeretne munkamintákat létrehozni, meg kell felelnie az SQLXML-példák futtatására vonatkozó követelményeknek.

Mielőtt használnánk az updategram példákat, figyeljük meg a következőket:

A. Paraméterek átadása updategramnak

Ebben a példában a updategram megváltoztatja egy alkalmazott vezetéknevét a HumanResources.Shift táblában. A updategram két paramétert kap: ShiftID, amely egyedileg azonosítja a shiftet, és a 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>  
A updategram teszteléséhez
  1. Másold le a fenti updategramot a Notepadba, és mentsd UpdategramWithParameters.xmlfájlba.

  2. Készítsd elő az SQLXML 4.0 tesztszkriptet (Sqlxml4test.vbs ) az ADO segítségével SQLXML 4.0 lekérdezések végrehajtásához az updategram végrehajtásához a következő sorok hozzáadásával a következők után cmd.Properties("Output Stream").Value = outStream:

    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. A NULL paraméterértékként történő átadása updategramnak

Updategram futtatásakor az "isnull" értéket hozzárendeljük ahhoz a paraméterhez, amelyet NULL-ra szeretnénk állítani. Az updategram átalakítja az "isnulll" paraméterértéket NULL-ra, és ennek megfelelően dolgozza fel.

A következő updategram egy alkalmazotti címet NULL-ra állít be:

<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>  
A updategram teszteléséhez
  1. Másold le a fenti updategramot a Notepadba, és mentsd UpdategramPassingNullvalues.xmlfájlba.

  2. Készítsd elő az SQLXML 4.0 tesztszkriptet (Sqlxml4test.vbs ) az ADO segítségével SQLXML 4.0 lekérdezések végrehajtásához az updategram végrehajtásához a következő sorok hozzáadásával a következők után cmd.Properties("Output Stream").Value = outStream:

    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)  
    

Lásd még:

Updategram biztonsági megfontolások (SQLXML 4.0)