Entwickler-Ecke

Datenbanken - Fehler: "Es sind zuviele Zeilen von der Änderung betroffen"


Der Schreckliche - Do 20.12.07 17:13
Titel: Fehler: "Es sind zuviele Zeilen von der Änderung betroffen"
Ich muss bei einer Accesstabelle jeden Datensatz mit unterschiedlichen Daten ändern.
Mit EDIT bekomme ich die Fehlermeldung: "Es sind zuviele Zeilen von der Änderung betroffen"
Mit UPDATE wird jeder Datensatz mit den gleichen Daten geändert.
Wie kann ich große Tabellen ändern?


alzaimar - Do 20.12.07 18:49

Ich bin mir nicht ganz sicher, aber vermutlich gibt es irgendwo eine exakte Kopie eines Datensatzes. Ich vermute weiterhin, das die Tabelle keinen Primary Key, also eine Spalte mit garantiert eindeutigen Werten, besitzt.

Beispiel: Deine Tabelle sieht so aus

Quelltext
1:
2:
3:
1 | X
1 | X
2 | Y

Und Di willst jetzt bei der einen Zeile '1,X' das X in ein Y ändern. Dann werden ja zwei Zeilen verändert, weil das DBMS keine Möglichkeit hat, die beiden Zeilen voneinander zu unterscheiden. Klar geht ein Update, aber bei einem 'Edit' erwartet das TDataset nunmal, das das DBMS ihm 'Eine Zeile verändert' als Antwort zurückliefert.

Erstelle einen Primary Key (AutoInc) mit einem beliebigen Namen. Das sollte das Problem lösen.


Der Schreckliche - Do 20.12.07 19:20

Hey Super, das habe ich gerade entsprechend geändert.
Und es funktioniert.
Danke Dir.