Höchster Wert in Spalte ermitteln und ausgeben

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    Höchster Wert in Spalte ermitteln und ausgeben

    Hallo Leute,

    ich möchte in meiner Datenbank in einer Spalte den höchsten Wert aussuchen und in einem Textfeld für eine Neuanlage entsprechend um 1 erhöhen für einen neuen Eintrag.
    Dies funktioniert soweit auch, sofern die DB nicht leer ist.
    Ich möchte aber, dass die Kennzahl im Textfeld auf 1 gesetzt wird, wenn die DB noch leer ist (sprich kein maximaler Wert vorhanden ist).
    Habe mir dazu folgendes überlegt:

    Private Sub Neuenummer()

    objConnection.Open()

    objDataCommand.CommandText = "select max(Laufendenummer) from Test"
    Dim retval = objDataCommand.ExecuteScalar

    If retval > 0 Then

    Nummer.Text = retval + 1
    Else
    Nummer.Text = 1

    End If

    objConnection.Close()

    End Sub

    Kann mir jemand helfen, wie ich es schaffe, dass er den "retval" verwalten kann, auch wenn es keinen Max-Wert in der Spalte gibt?
    Schalte zunächst mal Option Strict ON (Option Strict ON in die erste Zeile deines Codes schreiben oder unter Projekteinstellungen)

    Ich verstehe dein Problem zudem nicht richtig. Du fragst ja schon richtig ab, ob der Wert über 0 ist. Ist er das nicht dann benutzt du 1.
    Allerdings solltest du den Wert nicht in der Textbox speichern, denn Steuerelemente benutz man nicht zum Speichern von Daten (Trennung von Daten und UI)
    Stattdessen solltest du retval = 1 setzen.