Login Form

  • VB.NET

Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von guccini.

    habe nochmal mit mehreren user getestet und erfüllt sein zweck, verstehe nicht warum ich deine frage nicht beantworten sollte sonne75?
    edr danke für deine antwort, wie geschrieben habe das nach einen tutorial gemacht, ich kann nicht behaupten ob das ok ist oder nicht ,funktionieren tuts ja.
    du meintest das die passwortabfrage nicht korrekt ist, wie würdest du das angehn?

    guccini schrieb:

    wenn ich diese foreach schleife auskommentiere, funktioniert das nicht


    Mich beschleicht der Verdacht, dass du nicht wirklich alles liest, was hier in deinem Thread zu der Problematik geschrieben wird, oder dass du nur die Hälfte verstehst, aber entweder nicht weißt wie du nachhaken sollst oder dich nicht traust.

    Wenn du die komplette For-Each-Schleife (inklusive Inhalt) auskommentierst wird ja auch der aus der Datenbank gelesene Benutzername nicht in deiner Variablen gespeichert. Das ist also nicht die "Lösung".
    Ersetze die For-Each-Schleife durch eine einzelne Abfrage des DataRow-Inhalts in der Spalte "FirstName" aus der ersten (und idealerweise) einzigen DataRow in deiner DataTable.

    VB.NET-Quellcode

    1. firstName = ds.Tables(0).Rows(0)("FirstName").ToString()

    Allerdings wird es dabei dann knallen, wenn der Benutzername nicht gefunden wurde. Also prüfst du vorher die RowCount bzw. die HasRows-Eigenschaft der Tabelle, ob überhaupt ein Datensatz darin vorliegt.

    VB.NET-Quellcode

    1. If ds.Tables(0).Rows.Count > 0 Then
    2. ...
    3. End If
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.
    hi Arby ,folgendes wenn ich ein thread aufmache lese ich grundsätzlich alles durch, das ist das 3. monat das ich mit vb beschäftige, versuche immer wieder durch beispiele und mit 3 ebooks zu begreifen was hier angeboten wird, wie gesagt ich habe nach einen tutorial das abgearbeitet. Mal ganz ehrlich , wenn ich das könnte würde ich das hier rein schreiben?bin für jede hilfestellung und geduld dankbar.!
    Fein... Und hat mein zuletzt geschriebenes dich irgendwie weiterbringen oder gar erhellen können?
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.

    guccini schrieb:

    das ist das 3. monat das ich mit vb beschäftige

    Wenn du das Prinzip der For-Schleifen nicht verstehst, solltest du vielleicht die Lernstrategie überdenken. Sich einfach im Google Code zusammensuchen, ohne zu verstehen, was der eigentlich macht, ist kein "Lernen".
    Ich würde dir raten, vergiss alles, was du in 3 Monaten "gelernt" hast, und fange von vorne an, mit einem Buch. Aber so richtig von vorne, Schleifen, If-Abfragen usw.
    microsoft-press.de/url.asp?cnt=mspress_vb2010

    Hier ist ein kostenloses Buch, welches alles gut erklärt, von Anfang an.
    hi arby, hatt auf jeden fall geholfen.
    hi sonne75 , mit der schleife konnte ich nachvollziehn was damit gemeint ist ,den link den du zur verfügung gestellt hast benutze ich schon von anfang an und noch 2 weitere, wo meine problematik ist "umsetzen" , da hab ich meine schwächen, nach den ganzen vorschlägen kann ich damit üben und lernen richtig zu programmieren....edr meinte das wäre nicht der richtige weg um passwort abzufragen, welche "richtige" möglichkeiten hätte man noch?
    Hey guccini,

    um es dir mal einfacher zu erklären was die anderen dir mit der Schleife sagen wollen.

    Deine For/Next Schleife würde nur funktionieren, wenn du nur einen Datensatz hast oder du das Passwort des letzten Datensatzes einträgst.

    Visual Basic-Quellcode

    1. For Each rowTest In ds.Tables(0).Rows
    2. firstName = rowTest("FirstName").ToString
    3. Next


    Bei sagen wir mal 10 Datensätzen durchläufst du die Schleife und willst immer den "Firstname" in die Variable Firstname schreiben. Somit überschreibst du ständig diese Variable mit dem nächsten Datensatz und nur der letzte Datensatz steht dann in deiner Variable.
    Du solltest also eher überprüfen, ob der Benutzer überhaupt vorhanden ist.
    Ist dieser vorhanden überprüfst du dann diesen Datensatz auf Übereinstimmung mit dem eingetragenen Passwort. So habe ich das wenigstens gemacht.
    Dies könntest du z.B. mit einem SELECT an die Datenbank erreichen oder wenn du alles eingelesen hast auch in deiner DataTable.

    Gruß
    HerrFrie