How can i fix Exception in Tkinter callback Traceback (most recent call last) error

Viewed 41

I'm working about login screen and user databases. I'm getting this error. Waiting for your advice.

Exception in Tkinter callback

Traceback (most recent call last): File "C:\Program Files\Python310\lib\tkinter_init_.py", line 1921, in call return self.func(*args)

File "D:\SoftwareLabCodes\AboutPython\project5 deneme\main.py", line 50, in login = Button(newUser, text="Register", bg="green", fg="white",command=lambda: insertToDb(usernameEntry.get(), passwordEntry.get()))

File "D:\SoftwareLabCodes\AboutPython\project5 deneme\main.py", line 25, in insertToDb im.execute("INSERT INTO userss (username , password, ) VALUES (?, ?)", (hashedUsername, hashedPassword)) sqlite3.OperationalError: near ")": syntax error

import sqlite3 as sql
from tkinter import *
import hashlib


db = sql.connect("usersDataBase")
im = db.cursor()

window = Tk()
window.geometry("720x480")
title = Label(text = "Login Screen")
title.place(relx=.4, rely=.15)

t ='CREATE TABLE IF NOT EXISTS userss (username VARCHAR (32), password VARCHAR(32), userID INTEGER PRIMARY KEY AUTOINCREMENT )'
im.execute(t)
db.commit()



def insertToDb(username, password):

    hashedUsername = username.encode("UTF-8")
    hashedPassword = hashlib.md5(password.encode("UTF-8")).hexdigest()

    im.execute("INSERT INTO userss (username , password, ) VALUES (?, ?)", (hashedUsername, hashedPassword))
    db.commit()
    print("User Created")
    resultStr.set("User Created")


def newAccountPage():
    global resultStr
    newUser = Frame(window)
    newUser.place(relwidth=0.9, relheight=0.9,relx=0., rely=0.3)

    usernameLabel = Label(newUser, text="Username :")
    usernameEntry = Entry(newUser, width=30)
    usernameLabel.place(relx=.25, rely=.05)
    usernameEntry.place(relx=.37, rely=.05)

    passwordLabel = Label(newUser, text="Password :")
    passwordEntry = Entry(newUser, width=30)
    passwordLabel.place(relx=.25, rely=.1)
    passwordEntry.place(relx=.37, rely=.1)

    resultStr = StringVar()
    result = Label(newUser, textvariable=resultStr)
    result.place(relx= .45, rely=.7)

    login = Button(newUser, text="Register", bg="green", fg="white",command=lambda: insertToDb(usernameEntry.get(), passwordEntry.get()))
    login.place(relx=.46, rely=.17)

    back = Button(newUser, text="Back", bg="red", fg="white", command= lambda: newUser.place_forget())
    back.place(relx=.3,rely=.4)




homePage = Frame(window)
homePage.place(relwidth=0.9, relheight=0.9,relx=0., rely=0.3)

usernameLabel = Label(homePage, text="Username :")
usernameEntry = Entry(homePage, width= 30)
usernameLabel.place(relx=.25 , rely=.05 )
usernameEntry.place(relx=.37 , rely=.05 )

passwordLabel = Label(homePage, text="Password :" )
passwordEntry = Entry(homePage, width= 30)
passwordLabel.place(relx=.25 , rely=.1)
passwordEntry.place(relx=.37 , rely=.1)

login = Button(homePage, text= "Login", fg="blue")
login.place(relx=.46, rely=.17)

register = Button(homePage, text= "Register", fg="green", command=newAccountPage)
register.place(relx=.45, rely=.25)



window.mainloop()

0 Answers
Related