无法通过python删除数据。我使用Entry
删除。也许Entry
它没有用于删除,所以有什么问题?
from tkinter import *
import pypyodbc
import ctypes
#Create connection
con = pypyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:/Users/HP/Desktop/PITL;DBQ=C:/Users/HP/Desktop/PITL/PITL.mdb;')
cursor = con.cursor ()
form=Tk ()
form.title ("Add data")
form.geometry ('400x200')
lab_1=Label(form, text="What do you want to delete?")
lab_1.pack ()
en_1=Entry(form, width=20,bd=5)
en_1.pack()
def Add ():
cursor.execute ("DELETE FROM Laws WHERE Law_name = ?", (en_1.get()))
con.commit ()
cursor.close ()
con.close ()
Button=Button(form, text = 'PUSH ME', command = Add)
Button.pack ()
form.mainloop ()
Tkinter回调中的异常回溯(最近一次调用最后一次):
文件 " C:\用户\ HP \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\ tkinter__init __ PY&#34 ;,。 第1699行,致电 return self.func(* args)File" C:\ Users \ HP \ Desktop \ PITL \ DELETE.py",第21行,在Add中 cursor.execute(" DELETE FROM Laws WHERE Law_name =?",(en_1.get()))文件 " C:\用户\ HP \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\站点包\ pypyodbc -1,3,4- py3.6.egg \ pypyodbc.py&#34 ;, 第1475行,执行中 引发TypeError("参数必须在列表,元组或行中#34;)TypeError:参数必须在列表,元组或行中
答案 0 :(得分:3)
只需写一个元组或行。要确保它是一个元组,请使用逗号:
cursor.execute ("DELETE FROM Laws WHERE Law_name = ?",
(en_1.get(), )) #<- this comma