Announcement

Collapse
No announcement yet.

Dataset - Kein Update bei geändertem Datensatz

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dataset - Kein Update bei geändertem Datensatz

    Hallo,

    kann ich meinem Dataset irgendwie mitteilen, das es bei einem Update über den SQLDataAdapter kein Update auf einen Datensatz machen darf, wenn dieser in der Datenbank geändert wurde, nachdem er in das Dataset geladen wurde?

    Gruß
    Daniel

  • #2
    Hallo,

    ich habe schon den Beitrag ein paar Zeilen vorher gelesen :-)
    Ich habe jetzt mein Update-Statement darum erweitert, das auch das letzte Änderungsdatum in der WHERE-Klausel mit abgefragt wird. Jetzt gibt's auch wie einen Fehler, wenn der Datensatz schon geändert wurde.

    Wenn das nun mehrere Zeilen betreffen würde? Kann ich dann herausbekommen, welche Zeilen es betrifft?

    Kann man auch das Speichern der nicht geänderten Datensätze zulassen und sich nur holen, welche Datensätze nicht gespeichert wurden?

    Gruß
    Daniel

    Comment


    • #3
      Hallo,

      Kann man auch das Speichern der nicht geänderten Datensätze zulassen und sich nur holen, welche Datensätze nicht gespeichert wurden?
      Ja, dazu muss nur die Eigenschaft ContinueUpdateOnError auf true gesetzt werden.

      Wenn das nun mehrere Zeilen betreffen würde?
      Die Ereignisbehandlungsmethoden für RowUpdated oder ColumnUpdated können genutzt werden, wenn die Fehler sehr frühzeitig bereits beim Updaten-Aufruf ausgewertet werden sollen.

      Kann ich dann herausbekommen, welche Zeilen es betrifft?
      Wenn die SqlDataAdapter-Eigenschaft ContinueUpdateOnError auf true gesetzt ist, führt der Adapter auch dann die Aktualisierung weiter durch, wenn ein Mehrbenutzerkonflikt aufgetreten ist. In der DataSet-Instanz kann über die Methode HasErrors geprüft werden, ob Fehler aufgetreten sind. Wenn die eigene Anwendung nicht auf die Ereignisbehandlungsmethoden für RowUpdated oder ColumnUpdated zurückgreift, muss die Anwendung die Fehler selbst suchen. Über die HasErrors-Eigenschaft kann in einer Schleife jede DataRow-Instanzuntersucht werden. Jeder Fehler wird von der DataRow-Instanz über die Eigenschaft RowError zurückgeliefert.

      Comment

      Working...
      X