Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Диаграммы обновления — это шаблоны; поэтому их можно передать. Дополнительные сведения о передаче параметров в шаблоны см. в статье "Вопросы безопасности системы обновления" (SQLXML 4.0).
Диаграммы обновления позволяют передавать ЗНАЧЕНИЕ NULL в качестве значения параметра. Чтобы передать значение параметра NULL, укажите nullvalue атрибут. Затем значение, назначенное nullvalue атрибуту, предоставляется в качестве значения параметра. Диаграммы обновления рассматривают это значение как NULL.
Замечание
В <sql:header> и <updg:header>, необходимо указать как неуправляемый nullvalue ; в то время как <updg:sync>в , вы указываете nullvalue как квалифицированный (например, updg:nullvalue).
Примеры
Чтобы создать рабочие примеры с помощью следующих примеров, необходимо выполнить требования, указанные в разделе "Требования для выполнения примеров SQLXML".
Прежде чем использовать примеры диаграмм обновления, обратите внимание на следующее:
- В примерах используется сопоставление по умолчанию (т. е. схема сопоставления не указана в диаграмме обновления). Дополнительные примеры схем обновлений, использующих схемы сопоставления, см. в разделе "Указание схемы аннотированного сопоставления" в диаграмме обновления (SQLXML 4.0).
А. Передача параметров в диаграмму обновления
В этом примере диаграмма обновления изменяет фамилию сотрудника в таблице HumanResources.Shift. Диаграмма обновления передается двумя параметрами: ShiftID, которая используется для уникальной идентификации смены и имени.
<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>
Тестирование диаграммы обновления
Скопируйте диаграмму обновления выше в Блокнот и сохраните ее в файл как UpdategramWithParameters.xml.
Подготовьте тестовый скрипт SQLXML 4.0 (Sqlxml4test.vbs) в ADO для выполнения запросов SQLXML 4.0 для выполнения диаграммы обновления, добавив следующие строки после
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")
В. Передача NULL в виде значения параметра в диаграмму обновления
При выполнении диаграммы обновления значение isnull назначается параметру, который требуется задать значение NULL. Обновление диаграммы преобразует значение параметра isulll в NULL и обрабатывает его соответствующим образом.
Следующая диаграмма обновления задает для сотрудника значение 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>
Тестирование диаграммы обновления
Скопируйте диаграмму обновления выше в Блокнот и сохраните ее в файл как UpdategramPassingNullvalues.xml.
Подготовьте тестовый скрипт SQLXML 4.0 (Sqlxml4test.vbs) в ADO для выполнения запросов SQLXML 4.0 для выполнения диаграммы обновления, добавив следующие строки после
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)