Compartir a través de


Pasar parámetros a diagramas de actualización (SQLXML 4.0)

Los diagramas de actualización son plantillas; por consiguiente, se pueden pasar parámetros. Para obtener más información acerca de cómo pasar parámetros a plantillas, vea Consideraciones de seguridad sobre los diagramas de actualización (SQLXML 4.0).

Los diagramas de actualización le permiten pasar NULL como un valor del parámetro. Para pasar el valor del parámetro NULL, especifique el atributo nullvalue. A continuación, el valor que se asigna al atributo nullvalue se proporciona como el valor del parámetro. Los diagramas de actualización tratan este valor como NULL.

Nota

En <sql:header> y <updg:header>, debería especificar nullvalue como no calificado; mientras que en <updg:sync>, debe especificar nullvalue como completo (por ejemplo, updg:nullvalue).

Ejemplos

Para crear ejemplos funcionales usando los ejemplos siguientes, debe cumplir los requisitos que se especifican en Requisitos para ejecutar los ejemplos de SQLXML.

Antes de usar los ejemplos del diagrama de actualización, tenga en cuenta lo siguiente:

A. Pasar parámetros a un diagrama de actualización

En este ejemplo, el diagrama de actualización cambia el nombre de un turno en la tabla HumanResources.Shift. Se pasan dos parámetros al diagrama de actualización: ShiftID, que se usa para identificar de manera única un cambio, y el nombre.

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

Para probar el diagrama de actualización

  1. Copie el diagrama de actualización anterior en el Bloc de notas y guárdelo en un archivo como UpdategramWithParameters.xml.

  2. Prepare el script de prueba SQLXML 4.0 (Sqlxml4test.vbs) en Utilizar ADO para ejecutar consultas SQLXML 4.0 para ejecutar el diagrama de actualización agregando las siguientes líneas después de 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. Pasar NULL como un valor del parámetro a un diagrama de actualización

Para ejecutar un diagrama de actualización, el valor "isnull" se asigna al parámetro que se desea establecer en NULL. El diagrama de actualización convierte el valor del parámetro "isnulll" en NULL y lo procesa de forma apropiada.

El diagrama de actualización siguiente establece un puesto de trabajo en 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>

Para probar el diagrama de actualización

  1. Copie el diagrama de actualización anterior en el Bloc de notas y guárdelo en un archivo como UpdategramPassingNullvalues.xml.

  2. Prepare el script de prueba SQLXML 4.0 (Sqlxml4test.vbs) en Utilizar ADO para ejecutar consultas SQLXML 4.0 para ejecutar el diagrama de actualización agregando las siguientes líneas después de 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)