Autor Beitrag
ShadowKnight
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 21



BeitragVerfasst: Fr 30.09.11 09:21 
Hallo.

Ich habe in einem DatagridView die Möglichkeit, Zeilen zu kopieren und einzufügen. Ich hab es auch extra so gemacht, dass beim Validieren der Zeilen nicht dauernd ne Fehlermeldung ausgegeben wird (da man ja sowieso gezwungen ist, zwecks Primärschlüssel, diesen abzuändern).

Wenn ich nun die Primärschlüsselfeldzelle ändere, die Zeile wechsle, erhalte ich die "Doppelte Schlüssel" exception.

Nur wenn ich jetzt das gleiche Spiel nochmal mache, also wieder in die Zeile wechsele und dann wieder in eine andere ist alles in Ordnung und er speichert die kopierte Zeile mit natürlich geändertem Primärschlüsselfeld in die Datenbank.

Zur Info: Bei einer Zeilenvalidierung Update ich mit SQLDataAdapter.Update().

Was mache ich falsch?

Danke

ShadowKnight
schoenewelt
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 30.09.11 16:32 
HAllo,

als erstes solltest du es verhindern das der Benutzer den Primärschlüssel angibt. Zudem solltest am Ende, wenn der Benutzer Speichern klickt deine DateTable oder DataSet auf Änderungen prüfen, ggf Hinweismeldung und den Vorgang abbrechen damit der Benutzer die Fehler beheben kann. ERst danach solltest Du das Update auf die DB jagen...




Gruß,
Schoenewelt