Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Lalay hat geschrieben: Dienstag 27. August 2019, 16:55
leider sagt er mir immer das Schild nicht 8 ist ...
Der Wert ist ja auch nicht 8 sondern (8, ). Das ist ein Tupel mit einem Element. Wie du darauf zugreifst ist dir sicher bekannt, sonst schau noch mal in die Dokumentation. Abgesehen davon gibst du den Wert aus der Funktion gar nicht zurück.
Übrigens, was bringt dich darauf, dass diese Frage nach "Allgemeine Fragen" und nicht in das Unterforum "Datenbankprogrammierung mit Python" gehört?
Zuletzt geändert von /me am Dienstag 27. August 2019, 17:04, insgesamt 1-mal geändert.
fetchone liefert immer eine Zeile, und die als Tupel. Auch wenn da nur ein Element drin ist. Siehst du ja auch in deiner Ausgabe: (8,) ist eben ein Tupel, mit einem Element, und das ist 8. Wenn du da ran willst gibt's verschieden Moeglichkeiten,
schild, = cur.fetchone()
ist eine,
schild = cur.fetchone()[0]
eine andere.
Was dir dann natuerlich auch noch fehlt ist das "return schild" in daten_auslesen. Denn jetzt gibst du immer None zurueck, und das ist ja auch niemals 8.
Last but not least: magische Nummern so wie 8 sind doof. Benutz eine Konstante, zB
Wobei man wenn man magische Nummern hat die irgendwie zusammengehören, statt einer einfachen Konstante auch ein `enum.Enum`-Objekt erstellen kann, beziehungsweise in diesem Fall vielleicht ein `enum.IntEnum`
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis