Gewusst wie: Festlegen der Reihenfolge beim Durchführen einer hierarchischen Aktualisierung
Beim Speichern der geänderten Daten eines DataSets in eine Datenbank können Sie (bei aktivierter hierarchischer Aktualisierung) die Reihenfolge steuern, in der die einzelnen zum Speichern der Daten erforderlichen Einfüge-, Aktualisierungs- und Löschoperationen vom TableAdapterManager gesendet werden. Die Standardreihenfolge zum Durchführen einer hierarchischen Aktualisierung ist Einfügen, Aktualisieren und Löschen. Der TableAdapterManager stellt die UpdateOrder-Eigenschaft bereit, die Sie setzen können, um zuerst die Aktualisierungen und dann die Einfüge- und Löschvorgänge durchzuführen.
Beachten Sie unbedingt, dass vom TableAdapterManager in der Standardeinstellung zuerst für alle Tabellen im DataSet Anweisungen zum Einfügen, danach für alle Tabellen im DataSet Anweisungen zum Aktualisieren und anschließend für alle Tabellen im DataSet Anweisungen zum Löschen ausgeführt werden.
Wenn Sie die Primärschlüssel vorhandener Datensätze ändern, kann es hilfreich sein, die Aktualisierungsreihenfolge so zu ändern, dass die Aktualisierungen zuerst ausgeführt werden. Indem die Aktualisierungen zuerst ausgeführt werden, wird der vorhandene Datensatz wie erwartet geändert. Wenn die Einfügeoperationen zuerst ausgeführt werden, wird ein neuer Datensatz erstellt, da der neue Primärschlüssel in der Datenbank noch nicht vorhanden ist.
Vorgehensweise
So legen Sie die Reihenfolge fest, in der eine hierarchische Aktualisierung ausgeführt wird
Öffnen Sie in der Entwurfsansicht das Formular mit dem TableAdapterManager, der die Aktualisierung ausführt.
Klicken Sie auf der Komponentenleiste auf den TableAdapterManager.
Setzen Sie die UpdateOrder-Eigenschaft im Fenster Eigenschaften auf die für Ihre Anwendung erforderliche Reihenfolge.
So legen Sie die Reihenfolge programmgesteuert fest, in der eine hierarchische Aktualisierung ausgeführt wird
Im folgenden Code wird der TableAdapterManager so konfiguriert, dass zuerst alle Aktualisierungs-, danach alle Einfüge- und anschließend alle Löschoperationen ausgeführt werden. (Ersetzen Sie yourDataSetTableAdapters durch einen gültigen Namen aus Ihrem Projekt.)
Me.TableAdapterManager.UpdateOrder = _ yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete
this.tableAdapterManager.UpdateOrder = yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete;
Im folgenden Code wird der TableAdapterManager so konfiguriert, dass zuerst alle Einfüge-, danach alle Aktualisierungs- und anschließend alle Löschoperationen ausgeführt werden. Dies entspricht dem Standardverhalten von TableAdapterManager.
Me.TableAdapterManager.UpdateOrder = _ yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
this.tableAdapterManager.UpdateOrder = yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
Siehe auch
Aufgaben
Gewusst wie: Aktivieren und Deaktivieren der hierarchischen Aktualisierung