Parallelitäts-Fehler bei Update in DataGrid

10/02/2009 - 17:09 von M.Erlinger | Report spam
Hallo

Ich / der Benutzer der Applikation hat zeitweise einen Update-Fehler
mit Parallelitàts-Verletzung bei einem DataGrid. Ich kann diesen
Fehler aber nicht nachvollziehen wann/wie/und warum dieser Auftritt.
Ausschließen kann ich auf jeden Fall einen Doppel-Zugriff auf die
Daten durch einen anderen Benutzer. Ich vermute, dass es so zustande
kommt, dass zum Beispiel der Benutzer einen neuen Datensatz anlegt -
dann gleich anschließend einen anderen bestehenden Datensatz àndert /
oder löscht - und dann wieder beim neuen Datensatz weiter arbeitet -
und dann UPDATE auslöst.

Der Update/Insert/Delete-Command beim SqlDataAdapter ist mit dem
SqlCommandBuilder erstellt worden.
Ich habe einmal beim Debugg darauf geachtet, wie den der Update
aussieht, und bei diesem war die WHERE-Bedingung auf den Prim.Key der
Tabelle.

Kann mir vielleicht jemand zu diesem Problem einen Rat geben ??
Vor allem wie kann ich ein Test-Szenario aufbauen/auslösen, um den
Fehler immer nachvollziehen zu können...
Liegt es daran, dass ich mit dem SqlCommandBuilder die Insert/Update/
Delete-Commands erstellen lasse ?

Danke schon mal & schönen Gruß
Michael
 

Lesen sie die antworten

#1 Kolobro
11/02/2009 - 09:52 | Warnen spam
Hallo Michael,

ist in der Anwendung sichergestellt, dass der Schlüssel nicht geàndert wird
(Weder duch den Anwender, noch durch das Programm)?

Bei Nutzung der "Vollstàndigen Parallelitàt" sollte ebenfalls sichergestellt
sein, dass zwischendurch kein Aufruf von "AcceptChanges" erfolgt und die
Daten beim Einladen nicht konvertiert werden.

mfG
Kolobro

"M.Erlinger" wrote:

Hallo

Ich / der Benutzer der Applikation hat zeitweise einen Update-Fehler
mit Parallelitàts-Verletzung bei einem DataGrid. Ich kann diesen
Fehler aber nicht nachvollziehen wann/wie/und warum dieser Auftritt.
Ausschließen kann ich auf jeden Fall einen Doppel-Zugriff auf die
Daten durch einen anderen Benutzer. Ich vermute, dass es so zustande
kommt, dass zum Beispiel der Benutzer einen neuen Datensatz anlegt -
dann gleich anschließend einen anderen bestehenden Datensatz àndert /
oder löscht - und dann wieder beim neuen Datensatz weiter arbeitet -
und dann UPDATE auslöst.

Der Update/Insert/Delete-Command beim SqlDataAdapter ist mit dem
SqlCommandBuilder erstellt worden.
Ich habe einmal beim Debugg darauf geachtet, wie den der Update
aussieht, und bei diesem war die WHERE-Bedingung auf den Prim.Key der
Tabelle.

Kann mir vielleicht jemand zu diesem Problem einen Rat geben ??
Vor allem wie kann ich ein Test-Szenario aufbauen/auslösen, um den
Fehler immer nachvollziehen zu können...
Liegt es daran, dass ich mit dem SqlCommandBuilder die Insert/Update/
Delete-Commands erstellen lasse ?

Danke schon mal & schönen Gruß
Michael

Ähnliche fragen