Ich versuche gerade ein Login zu basteln bekomme aber eine Fehlermeldung die für mich keinen Sinn ergibt.
Code: Alles auswählen
Label(nb, text="Username", font="Helvetica 13 bold").grid(row=4, column=0, pady=5, padx=5)
Label(nb, text="Passwort", font="Helvetica 13 bold").grid(row=4, column=1, pady=5, padx=5)
passwort = Entry(nb, font=10)
passwort.grid(row=3, column=1, padx=5, pady=5)
benutzername = Entry(nb, font=10)
benutzername.grid(row=3, column=0, padx=5, pady=5)
def login():
test = benutzername.get()
connection = psycopg2.connect("dbname=sqltest")
cursor = connection.cursor()
cursor.execute('SELECT * FROM mitarbeiter WHERE loginname = %s ' % benutzername.get())
for dsatz in (cursor):
uname = dsatz[0]
pw = dsatz[1]
print(uname, pw)
Button(nb, text = "Login", command = login).grid(row=5, column=0, sticky=NSEW, pady=4)
Code: Alles auswählen
File "/home/gast/Arbeitsfläche/Projekte/Datenbank/login.py", line 41, in login
cursor.execute('SELECT * FROM mitarbeiter WHERE loginname = %s ' % benutzername.get())
psycopg2.ProgrammingError: FEHLER: Spalte »mustermann« existiert nicht
LINE 1: SELECT * FROM mitarbeiter WHERE loginname = mustermann
Code: Alles auswählen
Label(nb, text="Username", font="Helvetica 13 bold").grid(row=4, column=0, pady=5, padx=5)
Label(nb, text="Passwort", font="Helvetica 13 bold").grid(row=4, column=1, pady=5, padx=5)
passwort = Entry(nb, font=10)
passwort.grid(row=3, column=1, padx=5, pady=5)
benutzername = Entry(nb, font=10)
benutzername.grid(row=3, column=0, padx=5, pady=5)
def login():
test = benutzername.get()
connection = psycopg2.connect("dbname=sqltest")
cursor = connection.cursor()
cursor.execute('SELECT * FROM mitarbeiter WHERE loginname = %s ' , benutzername.get()) <---------- Komma statt %
for dsatz in (cursor):
uname = dsatz[0]
pw = dsatz[1]
print(uname, pw)
Button(nb, text = "Login", command = login).grid(row=5, column=0, sticky=NSEW, pady=4)
Code: Alles auswählen
File "/home/gast/Arbeitsfläche/Projekte/Datenbank/login.py", line 41, in login
cursor.execute('SELECT * FROM mitarbeiter WHERE loginname = %s ', benutzername.get())
TypeError: not all arguments converted during string formatting
Bei der ersten Variante is es ja ganz kurios wie man aus der Fehlermeldung erkennen kann.
Wenn Ich im Eingabefeld den gewünschten Namen suche kommt der Fehler das die Spalte mit dem Namen nicht existiert.
Gebe ich aber den Spaltennamen!!! ein bekomm ich die Datensätze????