Hallo Claudius,

deinen Vorschlägen bin ich nachgegangen. Ich habe ausgeschlossen, dass der 
Datensatz durch jemand anderem verändert werden kann.

Dann bin ich den gesamten Quelltext durchgegangen und habe mir im Debugger die 
Schritte anzeigen lassen.

Leider konnte ich dabei auch keinen Fehler entdecken.

Problematisch ist, dass der Fehler nur sporadisch auftritt und ich immer noch 
kein Muster erkennen kann, wann es apssiert und wann nicht.

Vielleicht sollte ich doch eine eigene Update-Prozedur schreiben? Denn die 
Tabelle hat (leider) über 80 Spalten, sodass die von VS erzeugte 
Update-Prozedur doch schon ziemlich unübersichtlich und aufgrund des PK so auch 
nicht notwendig ist.

Vielen Dank für deine Mühen

Henri


asp.net@glengamoi.com schrieb am 21.04.05 10:00:09:

Hallo Herni,

> Concurrency violation: the UpdateCommand affected 0 records. 
> Description: An unhandled exception occurred during the 
> execution of the current web request. Please review the stack 
> trace for more information about the error and where it 
> originated in the code. 

Du benutzt bestimmt einen CommandBuilder mit optimistischen locking.

Es wird also so ein SQL erzeugt:

UPDATE tabelle SET feld1=neuerWert1, feld2=neuerWert2, feld3=neuerWert3
WHRE ID=alteID AND feld1=alterWert1 AND feld2=alterWert2 AND
feld3=alterWert3

D.h. Wenn in der Zwischenzeit(zwischen auslesen und zurückschreiben in die
DB) irgendwelche Werte sich ändern, dann stimmen die gemerkten alten Werte
nicht mehr und das Update trifft keinen Row (UpdateCommand affected 0
records). In so einem Fall wird diese Exception ausgelöst.
Jetzt hättest Du die Möglichkeit den Anwender zu warnen und entsprechende
Möglichkeiten anzubieten.
Allerdings denke ich, dass Du vermutlich in deinem code dieses Problem
schaffst, also du liest zweimal Werte ein und versuchst dann zweimal
(womöglich an verschiedenen Feldern) Änderungen zu schreiben. 


Gruss,


Claudius

_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net



_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an