Hallo c# Community,
Ich schreibe heute meine erste Datenbankanwendung mit c#.
Ich arbeite mit Visual Studio Professional 2012.
Ich habe mir etwas ganz simples überlegt.
Ich erzeuge eine Datenbank mit folgenden Spalten:
Nummer Name Beruf
soweit sogut.
das Feld "Nummer" soll eine fortlaufende Nummer sein. Dies funktioniert mit der AutoIncrement Funktion, jedoch liegt genau hier mein Problem.
Starte ich mein Programm, füllt er das Feld Nummer mit 1. Danach lege ich einen Namen und einen Beruf an. Ich gehe dann in die nächste Zeile und das Programm schreibt in die nächste Zeile die Nummer 2, was es ja auch soll.
Dann fällt mir aber auf, das Ich in Zeile 1 den Namen falsch geschrieben hab, also gehe ich wieder in Zeile 1 und ändere den Namen. Beim verlassen der 2. Zeile, löscht sich automatisch die Nummer 2 aus der 2. Zeile.
Gehe ich nach meiner Änderung wieder in die 2. Zeile, vergibt er die Nummer 3.
Was kann ich dagegen tun ?
Ich Danke euch im Voraus.
Daniel
Wir wissen leider von Deinem Projekt zu wenig um Dir helfen zu können.
Wir stellst Du die Daten dar ?
Wie hast Du die Verbindung zur Datenbank hergestellt ?
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Datemnbanken mit Autoincrement-Feldern haben immer die Angewohnheit mit der "angefangenen" Nummer weiter zu machen, als wäre diese vorhanden; sprich dieses Verhalten ist normal auch wenn du einen Datensatz verwirfst.
Um dem zu entgehen, müsstest du beim Verwerfen eines Datensatzes die DB (im Falle von Access z.B.) diese komprimieren.
Dann wird der Autoincrement-Wert auf den kleinsten Wert neu gesetzt.
Hi Torni,
Um dem zu entgehen, müsstest du beim Verwerfen eines Datensatzes die DB (im Falle von Access z.B.) diese komprimieren.
Bitte nicht solche Tips geben. Sonst gewöhnt sich das noch jemand an. Wenn man benutzerdefinierte Daten speichern will, sollte man dafür zusätzliche Felder anlegen, und nicht auf solche Stunts zurückgreifen 😉
Christian
Weeks of programming can save you hours of planning