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