Automatisches angeben eines wertes aus einer access datenbank wenn bereits zwei andere werte in der app angegeben werden

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Automatisches angeben eines wertes aus einer access datenbank wenn bereits zwei andere werte in der app angegeben werden

    Hallo,

    ich stelle mir jetzt seit längerem die frage, wie ich es hin bekomme, dass ich, wenn ich Benutzername und Passwort in einem Login angegeben habe automatisch (bei erfolgreichem Login) ein drittes oder viertes usw. Argument bzw. Information über diesen User angegeben wird wie beispielsweise Telefon nummre. Leider hat auch Recherche keine Ergebnisse gebracht. Nun seid ihr gefragt, ist sowas möglich? Zur Info, es handelt sich um eine Access Datenbank, da ich das erstmal lokal realisieren möchte...
    Und das dritte usw. Argument steht in einer reihe mit Username und Password, aber halt in einer neuen spalte.
    Danke im voraus MFG Jonas. :thumbsup:
    Wie sieht die Tabelle aus und wie der Code mit dem du den login validierst? Wenn alles in einer Tabelle steht, einfach alles abfragen und den Rückgabewert entsprechend verarbeiten.

    Ich lad gerne die Daten in eine DataTable und verarbeite diese in einem Objekt (z.B. eine eigene Klasse „User“) das im Konstruktor eine DataRow benötigt. Dort einfach den Inhalt der DataRow den passenden Propertys des Objekts zuweisen. Ggf. vorher prüfen ob die Felder DBnull sind.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Oh man, das ist ganz schön viel neues für mich...

    aber der code sieht so aus

    Quellcode

    1. If Benutzername.Text = Nothing Or Passwort.Text = Nothing Then
    2. MsgBox("Eingabe erforderlich!", MsgBoxStyle.Exclamation)
    3. Else
    4. If connection.State = ConnectionState.Closed Then
    5. connection.Open()
    6. End If
    7. Dim cmd As New OleDbCommand("select count(*) from login where Benutzername=? and Passwort=?", connection)
    8. cmd.Parameters.AddWithValue("@1", OleDbType.VarChar).Value = Benutzername.Text
    9. cmd.Parameters.AddWithValue("@2", OleDbType.VarChar).Value = Passwort.Text
    10. Dim count = Convert.ToInt32(cmd.ExecuteScalar())
    11. If (count > 0) Then
    12. RichTextBox2.Text = "/Setuser " & Benutzername.Text
    13. MsgBox("Login erfolgreich!", MsgBoxStyle.Information)
    14. If HasConnection = False Then
    15. If IsTrying = False Then
    16. Threading.ThreadPool.QueueUserWorkItem(AddressOf Connect)
    17. End If
    18. Panel1.Enabled = True
    19. End If
    20. Else
    21. MsgBox("Account nicht gefunden!", MsgBoxStyle.Critical)
    22. End If
    23. End If


    Denke du kannst damit was anfangen.

    IDBenutzernamePasswortAnzugebendes Argument
    1Max Mustermann1234560123 4567 8901

    So sieht meine tabelle an sich aus. Nur halt nicht mit diesen daten, versteht sich.
    Statt nem Count Frage die Daten komplett ab.
    select * From login where Benutzername= 1234 and Passwort= 2345

    diese Daten in eine DataTable mittels OLEDBDataAdapter laden:
    docs.microsoft.com/de-de/dotne…ter?view=netframework-4.8

    Wenn du das geschafft hast, kannst du auf die Daten in der DataTable bzw. DataSet zugreifen.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen