Merge Methode (DataRow[])
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DataSet.Merge-Methode (DataRow[])

 

Führt ein Array von DataRow-Objekten mit dem aktuellen DataSet zusammen.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

public void Merge(
	DataRow[] rows
)

Parameter

rows

Das Array von DataRow-Objekten, das mit dem DataSet zusammengeführt werden soll.

Mit der Merge-Methode werden zwei DataSet-Objekte zusammengeführt, deren Schemas weitgehend ähnlich sind.Eine Zusammenführung wird i. d. R. in einer Clientanwendung verwendet, um die neuesten Änderungen aus einer Datenquelle in ein vorhandenes DataSet einzubinden.Somit verfügt die Clientanwendung über ein aktualisiertes DataSet mit den neuesten Daten aus der Datenquelle.

Die Merge-Methode wird i. d. R. am Ende einer Reihe von Prozeduren aufgerufen, bei denen Änderungen validiert, Fehler abgeglichen werden und die Datenquelle mit den Änderungen sowie schließlich das vorhandene DataSet aktualisiert wird.

In einer Clientanwendung muss der Benutzer im Allgemeinen nur auf eine einzige Schaltfläche klicken, um die geänderten Daten zu erfassen und zu validieren, bevor sie zurück an eine Komponente der mittleren Ebene gesendet werden.In diesem Szenario wird die GetChanges-Methode zuerst aufgerufen.Diese Methode gibt ein zweites DataSet zurück, das für das Validieren und Zusammenführen optimiert ist.Dieses zweite DataSet-Objekt enthält nur die geänderten DataTable-Objekte und DataRow-Objekte. Es bildet daher eine Teilmenge des ursprünglichen DataSet.Diese Teilmenge ist i. d. R. kleiner und wird daher effizienter an eine Komponente der mittleren Ebene zurückgegeben.Die Komponente der mittleren Ebene aktualisiert anschließend mithilfe gespeicherter Prozeduren die ursprüngliche Datenquelle mit den Änderungen.Die mittlere Ebene kann dann entweder durch erneutes Ausführen der ursprünglichen Abfrage ein neues DataSet mit den ursprünglichen und den neuesten Daten aus der Datenquelle zurücksenden, oder sie kann die Teilmenge mit allen an ihr vorgenommenen Änderungen aus der Datenquelle zurücksenden. (Wenn die Datenquelle z. B. automatisch eindeutige Primärschlüsselwerte erstellt, können diese Werte an die Clientanwendung zurückgegeben werden.) In jedem Fall kann das zurückgegebene DataSet mithilfe der Merge-Methode wieder mit dem ursprünglichen DataSet der Anwendung zusammengeführt werden.

Beim Aufruf der Merge-Methode werden die Schemas der zwei DataSet-Objekte verglichen, da die Schemas möglicherweise geändert wurden.In einem Business-to-Business-Szenario könnten z. B. einem XML-Schema neue Spalten durch einen automatisierten Prozess hinzugefügt worden sein.Wenn das Quell-DataSet im Ziel nicht vorhandene Schemaelemente enthält (hinzugefügte DataColumn-Objekte), können die Schemaelemente dem Ziel hinzugefügt werden, indem das missingSchemaAction-Argument auf MissingSchemaAction.Add festgelegt wird.In diesem Fall enthält das zusammengeführte DataSet das hinzugefügte Schema und die hinzugefügten Daten.

Nach dem Zusammenführen der Schemas werden die Daten zusammengeführt.

Beim Zusammenführen eines neuen Quell-DataSet mit dem Ziel werden Quellzeilen mit dem DataRowState-Wert Unchanged, Modified oder Deleted mit den Zielzeilen zusammengeführt, die dieselben Primärschlüsselwerte enthalten.Quellzeilen mit dem DataRowState-Wert Added werden neuen Zielzeilen zugeordnet, die dieselben Primärschlüsselwerte wie die neuen Quellzeilen aufweisen.

Während einer Zusammenführung sind die Einschränkungen deaktiviert.Wenn am Ende einer Zusammenführung Einschränkungen nicht aktiviert werden können, wird eine ConstraintException generiert. Die zusammengeführten Daten bleiben während der Deaktivierung der Einschränkungen erhalten.In diesem Fall wird die EnforceConstraints-Eigenschaft auf false festgelegt, und alle ungültigen Zeilen werden als Fehler gekennzeichnet.Die Fehler müssen behoben werden, bevor die EnforceConstraints-Eigenschaft auf true zurückgesetzt werden kann.

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft