Udostępnij za pośrednictwem


Wprowadzenie do DataSets w SQLXML 4.0

Ten temat zawiera krótkie wprowadzenie do DataSets.

Format w formacie DiffGram

Jest to ogólny format w formacie DiffGram:

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

Format w formacie DiffGram składa się z tych bloków:

  • <DataInstance>
    Nazwa tego elementu DataInstance, używane do celów wyjaśnienie w tej dokumentacji.Na przykład, jeśli generowane z dataset w formacie DiffGram.NET Framework wartość nazwę właściwość zestawu danych będzie używany jako nazwa tego elementu.Blok ten zawiera wszystkie odpowiednie dane po zmianie, prawdopodobnie także dane, które nie zostały zmodyfikowane.Logiki przetwarzania w formacie DiffGram ignoruje elementy w tym blok, dla którego diffgr:hasChanges atrybut nie jest określony.

  • <diffgr: przed>
    Ten opcjonalny blok zawiera oryginalnego wystąpienia rekordu (elementów), które muszą zostać zaktualizowane lub usunięte.Tabele bazy danych modyfikowany (zaktualizowane lub usunięte) w formacie DiffGram musi pojawić się jako elementów najwyższego poziom w <przed> blok.

  • <diffgr:errors>
    Ten opcjonalny blok jest ignorowany przez logiki przetwarzania w formacie DiffGram.

Adnotacje w formacie DiffGram

Adnotacje są definiowane w obszarze nazw w formacie DiffGram "urn: schemas-microsoft-com: XML-w formacie diffgram-01":

  • Identyfikator
    Atrybut ten jest stosowany do elementów w parą <przed> i <DataInstance> bloków.

  • hasChanges
    Wstaw lub operacji aktualizacji w formacie DiffGram należy określić atrybut z wartością dodaje się lub zmodyfikowane.Jeśli ten atrybut jest nieobecny, odpowiedni element w <DataInstance> jest ignorowany przez przetwarzanie logiki i aktualizacje nie są przeprowadzane.Dla próbek pracy, zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

  • parentID
    Ten atrybut jest używany do określania relacji nadrzędny podrzędność między elementami w formacie DiffGram.Ten atrybut jest wyświetlana tylko w <przed> blok.Jest on używany przez SQLXML stosowania aktualizacji.Relacja typu nadrzędny podrzędność jest używany przy określaniu kolejności przetwarzania elementów w formacie DiffGram.

Opis logiki przetwarzania w formacie DiffGram

Przetwarzanie logiki zastosowań w formacie DiffGram pewne zasady, czy operacja jest Wstaw, aktualizowania lub usuwania operacji.Zasady te zostały opisane w poniższej tabela.

Operacja

Opis

Wstaw

W formacie DiffGram wskazuje operację wstawiania, gdy element zostanie wyświetlony w <DataInstance> blok, ale nie w odpowiednich <przed> blok oraz diffgr:hasChanges określony atrybut (diffgr:hasChanges = dodaje) w elemencie.W takim przypadek w formacie DiffGram wstawia wystąpienie rekordu określonym w <DataInstance> blok do bazy danych.

Jeśli diffgr:hasChanges atrybut nie jest określony, element jest ignorowany przez logiki przetwarzania i Wstaw nie jest wykonywane.Dla próbek pracy, zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Aktualizacja

W formacie DiffGram wskazuje operacji aktualizacji, gdy element <przed> Blok, dla którego jest odpowiedni element w <DataInstance> bloku (oznacza to, że oba elementy mają diffgr:id atrybut z tą samą wartością) i diffgr: hasChanges atrybut jest określony przez wartość zmodyfikowane w elemencie w <DataInstance> bloku.

Jeśli diffgr:hasChanges atrybut nie jest określony w elemencie w <DataInstance> blok, zwracany jest błąd przez przetwarzanie logiki.Dla próbek pracy, zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Jeśli diffgr:parentID określonych w <przed> Blok, relacji nadrzędny podrzędność elementów, które są określone przez parentID są używane przy określaniu aktualizacji rekordów.

Usuń

W formacie DiffGram wskazuje operacji usuwania, gdy element zostanie wyświetlony w <przed> blok, ale nie w odpowiednich <DataInstance> blok.W takim przypadek w formacie DiffGram usuwa wystąpienie rekordu określonym w <przed> Blok z bazy danych.Dla próbek pracy, zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Jeśli diffgr:parentID określonych w <przed> Blok, relacji nadrzędny podrzędność elementów, które są określone przez parentID są używane przy określaniu kolejności, w którym rekordy są usuwane.

Ostrzeżenie

Nie można przekazać parametry do DataSets.