Aracılığıyla paylaş


Parametreleri Updategram'a Aktarma (SQLXML 4.0)

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Updategramlar şablonlardır; Bu nedenle, onlara parametreleri aktarabilirsiniz. Parametreleri şablonlara aktarma hakkında daha fazla bilgi için Updategram Security Considerations (SQLXML 4.0) sayfasına bakınız.

Updategramlar, NULL'u parametre değeri olarak aktarmanıza izin verir. NULL parametre değerini geçirmek için nullvalue niteliğini belirtirsiniz. Nullvalue özniteliğine atanan değer, parametre değeri olarak verilir. Updategramlar bu değeri NULL olarak kabul eder.

Uyarı

<sql:header> ve <updg:header> içinde null değeri niteliksiz olarak belirtmelisiniz; oysa< updg:sync'te>nullvalue'yu nitelikli olarak belirtirsiniz (örneğin, updg:nullvalue).

Örnekler

Aşağıdaki örnekleri kullanarak çalışma örnekleri oluşturmak için, SQLXML Örneklerini Çalıştırma Gereksinimleri bölümünde belirtilen gereksinimleri karşılamanız gerekir.

updategram örneklerini kullanmadan önce aşağıdakilere dikkat edin:

A. Parametreleri bir updategram'a aktarma

Bu örnekte, updategram HumanResources.Shift tablosunda bir çalışanın soyadını değiştirir. Updategram'a iki parametre iletilir: ShiftID, bir kaymayı benzersiz şekilde tanımlamak için kullanılır ve 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>  
Güncelleme gramını test etmek için
  1. Yukarıdaki güncelleme gramını Notepad'e kopyalayın ve dosyaya kaydedinUpdategramWithParameters.xml.

  2. Güncelleme gramını başlatmak için aşağıdaki satırları ekleyerek ADO Kullanarak SQLXML 4.0 sorgularını çalıştırmak için SQLXML 4.0 test betikini (Sqlxml4test.vbs) hazırlamak için aşağıdaki satırları cmd.Properties("Output Stream").Value = outStreamekleyin:

    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'u bir güncelleme gramına parametre değeri olarak aktarmak

Bir updategram çalıştırılırken, "isnull" değeri, NULL olarak ayarlamak istediğiniz parametreye atanır. Updategram, "isnulll" parametre değerini NULL'a dönüştürür ve buna göre işler.

Aşağıdaki güncelleme gramı çalışan başlığını NULL olarak belirler:

<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>  
Güncelleme gramını test etmek için
  1. Yukarıdaki güncelleme gramını Notepad'e kopyalayın ve dosyaya kaydedinUpdategramPassingNullvalues.xml.

  2. Güncelleme gramını başlatmak için aşağıdaki satırları ekleyerek ADO Kullanarak SQLXML 4.0 sorgularını çalıştırmak için SQLXML 4.0 test betikini (Sqlxml4test.vbs) hazırlamak için aşağıdaki satırları cmd.Properties("Output Stream").Value = outStreamekleyin:

    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)  
    

Ayrıca Bkz.

Güncelleştirme Birimi Güvenlik Konuları (SQLXML 4.0)