Seite 2 von 2
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 12:49
von Sirius3
@MupfSpace: NEIN
oder bekommst Du etwa eine Exception?
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 12:59
von __deets__
@Sirius3 ah, gut zu wissen.
@Mupfspace: dann kannst du zB mit fetchall() alle user abfragen. Das sollte dann ja eine Liste mit nur einem Ergebnis sein. Oder du benutzt fetchone() und kannst dann auch eine execption benutzen, aber nur *GENAU DIE DIE DANN AUCH KOMMEN KANN* und nicht einfach alles abfangen, deine eigenen Fehler inklusive.
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 13:58
von Sirius3
@__deets__: fetchone wirft keine Exception, sondern liefert entweder irgendeinen Eintrag oder None, falls keiner existiert.
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 14:57
von __deets__
Ich geb's fuer heute auf... ich habe
https://www.python.org/dev/peps/pep-0249/#fetchone gelesen, und bin zu schnell in den zweiten Absatz gesprungen.
Aber um so besser, kann Mupfelspace mit if/else statt try/except arbeiten.
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 17:40
von MupfSpace
Habe es jezt so gemacht:
Code: Alles auswählen
cursor.execute("SELECT Password FROM Users WEHRE Username = ?",(User,))
c = cursor.fetchone ()
If p == None:
print ("Den Nutzer gibt's nicht")
else:
print ("Dieser Nutzer existiert")
Aber er sagt immer Dieser Nutzer existiert Auch wenn Es eigendlich None zurückgeben müsste weil der Nutzer nicht existiert
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 17:56
von Sirius3
@MupfSpace: `if` schreibt man klein und `p` ist nicht `c`. Was kommt denn, wenn Du `c` ausgibst?
Nochmal: Was ist der Unterschied zwischen `username` und `User`?
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:14
von MupfSpace
Unterschied: gibt's nicht
Und das Programm funktioniert macht so genau das gleiche wie vorher:
cursor.execute("SELECT Password FROM Users WEHRE Username = ?",(User,))
p = cursor.fetchone ()
if p == None:
print ("Den Nutzer gibt's nicht")
else:
print ("Dieser Nutzer existiert")
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:29
von Sirius3
Was bekommst Du denn, wenn Du `p` ausgibst?
Was ist der Unterschied zwischen `username` und `User`?
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:36
von MupfSpace
1. Es gibt keinen Unterschied zwischen User und Username
2. Er sagt immer das der User existiert auch wenn er es nicht tut
3. Das Python forum hat vergessen die Uhrzeit auf Sommerzeit umzustellen weil beim erscheinungs datum der Beiträge steht alles 1 Stunde früher
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:38
von Sirius3
Warum hat dann Deine Funktion den Namen doppelt?
Was bekommst Du denn, wenn Du `p` ausgibst?
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:41
von MupfSpace
Ah jezt hab ich dich verstanden
Ich bekomme None
Aber in der if Bedingung funktioniert es nicht :K
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:43
von MupfSpace
Du hast recht das mit der doppelten Funktion macht gar keinen Sinn
Ich machs wieder raus
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 18:50
von Sirius3
Wenn `p` None ist, dann ist `p == None` wahr (obwohl man besser `p is None` schreibt). Also muß noch irgendetwas anderes nicht stimmen.
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 19:21
von bb1898
Allgemeiner Hinweis: Quelltext in einem Beitrag sollte kopiert und nicht abgeschrieben werden. Dein vertipptes "WEHRE" statt "WHERE" ist hier kein Problem, denn wenn das in Deinem Programm so drinstünde, hätte es einen OperationalError gegeben, ganz unabhängig vom eingegebenen Parameter. Aber so was kann auch mal viel weniger offensichtlich sein.
Stell Dir den umgekehrten Fall vor: Du hast einen Tippfehler im Quelltext und der verursacht das Problem, bei dem Du Hilfe suchst. Beim Abschreiben schreibst Du das entsprechende Wort aber aus Gewohnheit richtig und übersiehst den Unterschied ... da kann man dann wahrscheinlich gar nicht weiterhelfen.
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Mittwoch 4. April 2018, 19:37
von MupfSpace
@bb1898
Eigendlich kopier ich immer aber am computer ging Grad das Internet nicht und deshalb musste ich's am Handy schreiben
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Donnerstag 5. April 2018, 10:33
von MupfSpace
es funktioniert
Ich bin ja auch so dumm kein Wunder das er gesagt hat das der nutze4 3cistiert ich hab in de anderen datei die variable username mit dem inhalt des text Dokumentes für die Registrierung belegt und nicht die für das anmelden
Aber jezt funktioniert es ja
Re: Sqlite3: schaun ob der eingegebene Username vorhanden ist
Verfasst: Donnerstag 5. April 2018, 10:36
von MupfSpace
An alle die mir in diesem thema weiter helfen konnten
Fals ich euch in den Lezten 2 Tagen etwas mit diesem thema genervt habe tut es mir leid
Und ich wollte mich noch bei allen bedanken