|
Эта статья переведена вручную. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст.
|
Перевод
Текст оригинала
|
Объекты DiffGram
Создание Diffgram
-
Создайте список корневых таблиц (таблиц, не имеющих родителей). -
Для каждой таблицы и ее потомков в списке запишите текущую версию всех строк в первом разделе Diffgram. -
Для каждой таблицы в наборе данных DataSet запишите первоначальную версию всех строк, если она есть, в разделе <before> Diffgram. -
Для строк, имеющих ошибки, запишите содержимое ошибок в разделе <errors> Diffgram.
Обработка Diffgram
-
Обработайте первый раздел Diffgram, содержащий текущую версию строк. -
Обработайте второй раздел, или раздел <before>, содержащий первоначальную версию измененных или удаленных строк.
Примечание
Если строка помечена как удаленная, то операция удаления может удалить потомков этой строки в зависимости от свойства Cascade текущего набора данных DataSet. -
Обработайте раздел <errors>. Установите сведения об ошибках для всех заданных строк и столбцов каждого элемента в этом разделе.
Примечание
|
|---|
|
|
<?xml version="1.0"?>
<diffgr:diffgram
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DataInstance>
</DataInstance>
<diffgr:before>
</diffgr:before>
<diffgr:errors>
</diffgr:errors>
</diffgr:diffgram>
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---|---|
|
|
|
|
|
|
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<CustomerDataSet>
<Customers diffgr:id="Customers1" msdata:rowOrder="0" diffgr:hasChanges="modified">
<CustomerID>ALFKI</CustomerID>
<CompanyName>New Company</CompanyName>
</Customers>
<Customers diffgr:id="Customers2" msdata:rowOrder="1" diffgram:hasErrors="true">
<CustomerID>ANATR</CustomerID>
<CompanyName>Ana Trujillo Emparedados y Helados</CompanyName>
</Customers>
<Customers diffgr:id="Customers3" msdata:rowOrder="2">
<CustomerID>ANTON</CustomerID>
<CompanyName>Antonio Moreno Taquera</CompanyName>
</Customers>
<Customers diffgr:id="Customers4" msdata:rowOrder="3">
<CustomerID>AROUT</CustomerID>
<CompanyName>Around the Horn</CompanyName>
</Customers>
</CustomerDataSet>
<diffgr:before>
<Customers diffgr:id="Customers1" msdata:rowOrder="0">
<CustomerID>ALFKI</CustomerID>
<CompanyName>Alfreds Futterkiste</CompanyName>
</Customers>
</diffgr:before>
<diffgr:errors>
<Customers diffgr:id="Customers2" diffgr:Error="An optimistic concurrency violation has occurred for this row."/>
</diffgr:errors>
</diffgr:diffgram>