TypeError:delete()缺少1个必需的位置参数:“ trip_id”

时间:2019-08-05 14:40:01

标签: python mysql tkinter

我已经使用tkinter和python创建了一个GUI,该GUI的功能之一允许用户从mysql删除数据,但是出现此错误。

def delete(e):
    trip_id=e.get()
    mycursor.execute("DELETE FROM trips WHERE trip_id=%s",[trip_id])
    mydb.commit()
    mycursor.execute(" DELETE FROM stop_times WHERE trip_id=%s",[trip_id])
    mydb.commit()

def delete_trip():
    top = Toplevel()
    top.title("Delete a trips")
    top.geometry("600x300")
    lbl1 = Label(top, text = 'trip_id:', font = {'Helvetica',10})
    lbl1.place(relx=0.2, rely=0.1)
    entry1 = Entry(top)
    entry1.place(relx=0.45, rely=0.1)
    button1 = Button(top, text="Delete a trip",command=lambda:delete(entry1))
    button1.place(relx=0.5 ,rely=0.5)

1 个答案:

答案 0 :(得分:0)

实际上,您的代码应该可以工作。您确定在代码的其他位置没有“删除”功能的另一个(不同的)定义吗?

此外,“删除”这个名称非常通用,可能导致混乱和细微的错误(如此错误)。可以通过使用更具体的名称来避免这种情况。在这种情况下,最好将函数命名为“ delete_trip”或类似名称。