次の方法で共有


アップデートグラムへのパラメーターの引き渡し (SQLXML 4.0)

アップデートグラムはテンプレートであり、パラメーターを渡すことができます。テンプレートにパラメーターを渡す方法の詳細については、「アップデートグラムのセキュリティに関する注意点 (SQLXML 4.0)」を参照してください。

アップデートグラムでは、パラメーター値として NULL を渡すことができます。NULL パラメーター値を渡すには、nullvalue 属性を指定し、nullvalue 属性に割り当てられる値をパラメーター値として指定します。アップデートグラムでは、この値は NULL として扱われます。

注意

<sql:header> および <updg:header> では、nullvalue を修飾子なしで指定し、<updg:sync> では、nullvalue を updg:nullvalue のように修飾子付きで指定します。

次の例を使用した実際のサンプルを作成するには、「SQLXML のサンプル実行のための必要条件」で指定される条件を満たす必要があります。

アップデートグラムの例を使用する前に、次のことに注意してください。

A. アップデートグラムにパラメーターを渡す

この例では、アップデートグラムで HumanResources.Shift テーブル内の勤務時間の名前を変更します。アップデートグラムには、勤務時間を一意に識別する ShiftID と、Name の 2 つのパラメーターが渡されます。

<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>

アップデートグラムをテストするには

  1. 上のアップデートグラムをメモ帳にコピーし、UpdategramWithParameters.xml としてファイルに保存します。

  2. ADO を使用した、SQLXML 4.0 クエリの実行」の SQLXML 4.0 テスト スクリプト (Sqlxml4test.vbs) を準備し、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. アップデートグラムにパラメーター値として NULL を渡す

アップデートグラムを実行するときに、NULL に設定するパラメーターに "isnull" 値を割り当てます。アップデートグラムでは "isnull" パラメーター値が NULL に変換され、それに従って処理が行われます。

次のアップデートグラムでは、従業員の役職名を NULL に設定します。

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header nullvalue="isnull" >
  <updg:param name="OldJobTitle"/>
  <updg:param name="NewJobTitle" />
</updg:header>
  <updg:sync >
    <updg:before>
       <HumanResources.Employee JobTitle="$OldJobTitle" />
    </updg:before>
    <updg:after>
      <HumanResources.Employee JobTitle="$NewJobTitle" />
    </updg:after>
  </updg:sync>
</ROOT>

アップデートグラムをテストするには

  1. 上のアップデートグラムをメモ帳にコピーし、UpdategramPassingNullvalues.xml としてファイルに保存します。

  2. ADO を使用した、SQLXML 4.0 クエリの実行」の SQLXML 4.0 テスト スクリプト (Sqlxml4test.vbs) を準備し、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)