cannot add my data to mysql using tkinter

Viewed 44

i'm adding data into mysql using tkinter so when i add my 1st student it shows added successfully
but when i add my 2nd student it shows roll number exist even when i change roll number (without closing my program)
but if i close my program and add again it again add 1st student and shows roll umber already exist in 2nd student

def add_data():
    name=e1.get()
    rol=e2.get()
    phn=e3.get()
    mth=e4.get()
    eng=e5.get()
    sci=e6.get()

    try:
        if(rad.get()==1):
            cursor.execute('insert into first_year( name,roll_number,phn_no,maths,english,science) values(%s,%s,%s,%s,%s,%s)',(name, rol, phn, mth, eng, sci))
        elif(rad.get()==2):
            cursor.execute('insert into second_year( name,roll_number,phn_no,maths,english,science) values(%s,%s,%s,%s,%s,%s)',(name, rol, phn, mth, eng, sci))

        con.commit()
        con.close()
        confimation.config(text="added succesfully")
        e1.delete(0, END)
        e2.delete(0, END)
        e3.delete(0, END)
        e4.delete(0, END)
        e5.delete(0, END)
        e6.delete(0, END)
    except:
        confimation.config(text="roll number exist")

btn=Button(f,text="ADD",command=add_data)
btn.place(x=600,y=350,height=90,width=90)

my image when im trying to add 2nd student data

my table image

error after changing my exception

error after removing try and except

1 Answers

I see what the error is now, You are closing your connection then trying to re-use the same cursor you had defined before. Try removing "con.close()" from your try loop and see if this works. Global cursors can fail over larger datasets but this should fix your issue.

Related