Autoincrement zählt weiter

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Abschließend:

    Ich habe mir nun eine kleine "Funktion" geschrieben, welche die Höchste Zahl aus der Spalte "ID" aus der BS heraus filtert.
    AutoIncrement habe ich abgeschaltet.

    VB.NET-Quellcode

    1. Dim Value As Integer
    2. For count = 0 To ReservationsBindingSource.Count - 1
    3. Dim row As DataRowView = DirectCast(ReservationsBindingSource.Item(count), DataRowView)
    4. Value = CInt(row.Item(0)) 'Spalte 0 = ID bei mir
    5. If HoechsteZahl < Value Then HoechsteZahl = Value
    6. Next


    Immer die "HoechsteZahl" + 1 ergibt meine neue "ID".

    Das Problem war folgendes, dass mein Programm bei nur ca. 50 Einträgen schon bei der ID von ca. 100000 war. Und das ging mir zu schnell :)
    Den Code habe ich hier gepostet, damit dieser evtl. verbessert werden kann oder als Anreiz für andere dienen kann.
    Abschließend und dann auch erledigt:

    Die Methode im Vorpost ist etwas umständlich. Einfacher geht es so ->
    Um mein AutoIncrement selbst festzulegen, hole ich mir mit Bindingsource.Count einfach die Anzahl der Rows und dieser Wert ist dann meine neue ID.
    Könnte man evtl. noch Errorhandling machen. Fertig.