2

我正在使用 tkinter 将数据添加到 mysql 中,所以当我添加我的第一个学生时,它显示添加成功
,但是当我添加我的第二个学生时,它显示卷号存在,即使我更改卷号(不关闭我的程序)
但是如果我关闭我的程序并再次添加它再次添加第一个学生并显示第二个学生中已经存在卷号

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)

我尝试添加第二个学生数据时的图像

我的桌子图片

更改我的异常后出错

删除 try 和 except 后出错

4

1 回答 1

0

我现在看到了错误,您正在关闭连接,然后尝试重新使用您之前定义的相同光标。尝试从您的尝试循环中删除“con.close()”,看看这是否有效。全局游标可以故障转移更大的数据集,但这应该可以解决您的问题。

于 2020-10-03T05:02:07.270 回答