Bagikan melalui


Meneruskan Parameter ke Updategram (SQLXML 4.0)

Berlaku untuk: SQL ServerAzure SQL Database

Updategram adalah templat; oleh karena itu, Anda dapat meneruskannya parameter. Untuk informasi selengkapnya tentang meneruskan parameter ke templat, lihat Pertimbangan Keamanan Updategram (SQLXML 4.0).

Updategram memungkinkan Anda untuk meneruskan NULL sebagai nilai parameter. Untuk meneruskan nilai parameter NULL, Anda menentukan atribut nullvalue . Nilai yang ditetapkan ke atribut nullvalue kemudian disediakan sebagai nilai parameter. Updategram memperlakukan nilai ini sebagai NULL.

Catatan

Di <sql:header> dan <updg:header>, Anda harus menentukan nullvalue sebagai tidak memenuhi syarat; sedangkan, dalam< updg:sync>, Anda menentukan nullvalue sebagai memenuhi syarat (misalnya, updg:nullvalue).

Contoh

Untuk membuat sampel kerja menggunakan contoh berikut, Anda harus memenuhi persyaratan yang ditentukan dalam Persyaratan untuk Menjalankan Contoh SQLXML.

Sebelum menggunakan contoh updategram, perhatikan hal berikut:

J. Meneruskan parameter ke updategram

Dalam contoh ini, updategram mengubah nama belakang karyawan di tabel HumanResources.Shift. Updategram diteruskan dua parameter: ShiftID, yang digunakan untuk mengidentifikasi pergeseran secara unik, dan Nama.

<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>  
Untuk menguji updategram
  1. Salin updategram di atas ke Notepad dan simpan ke file sebagai UpdategramWithParameters.xml.

  2. Siapkan skrip pengujian SQLXML 4.0 (Sqlxml4test.vbs) di Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0 untuk menjalankan updategram dengan menambahkan baris berikut setelah 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. Meneruskan NULL sebagai nilai parameter ke updategram

Dalam menjalankan updategram, nilai "isnull" ditetapkan ke parameter yang ingin Anda atur ke NULL. Updategram mengonversi nilai parameter "isnulll" menjadi NULL dan memprosesnya dengan sesuai.

Updategram berikut menetapkan judul karyawan ke 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>  
Untuk menguji updategram
  1. Salin updategram di atas ke Notepad dan simpan ke file sebagai UpdategramPassingNullvalues.xml.

  2. Siapkan skrip pengujian SQLXML 4.0 (Sqlxml4test.vbs) di Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0 untuk menjalankan updategram dengan menambahkan baris berikut setelah 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)  
    

Lihat Juga

Pertimbangan Keamanan Updategram (SQLXML 4.0)