python - 我用 mysql 在 python tkinter 中更新记录的功能无法正常工作
问题描述
我做了一个界面,他们填写了一系列表格并保存在数据库中,我做了一个按钮来更新数据,以防用户犯了错误,他可以更新它,但更新它的作用是更新对于所有注册用户,而不仅仅是我选择的用户,它一定是查询中的错误,但我对此并不陌生
这个想法是从界面更新单个数据
id_postulante 是一个自动递增字段,它不像其他字段那样是变量
def actualizar(self):
if self.nombre_var.get()=="" or self.apellido_var.get()=="" or self.cedula_var.get()=="" or self.fdn_var.get()=="" or self.genero_var.get()=="" or self.telefono_var.get()=="" or self.correo_var.get()=="" or self.cargo_aspira_var.get()=="" or self.estado_civil_var.get()=="":
messagebox.showerror("Error","Seleccion el registro que desea actualizar!!!")
else:
con=pymysql.connect(host="localhost", user="root",password="", database="postulantebd")
cur = con.cursor()
cur.execute("update postulantes set nombre=%s, apellido=%s, cedula=%s, fdn=%s, genero=%s, telefono=%s, correo=%s, estadoCivil=%s, cargoAspira=%s, direccion=%s,imagen=%s, descripcion=%s,indicador=%s where id_postulante",(
self.nombre_var.get(),
self.apellido_var.get(),
self.cedula_var.get(),
self.fdn_var.get(),
self.genero_var.get(),
self.telefono_var.get(),
self.correo_var.get(),
self.estado_civil_var.get(),
self.cargo_aspira_var.get(),
self.txt_direccion.get('1.0', 'end-1c'),
self.blobImagen,
self.descripcion_var.get('1.0', 'end-1c'),
self.indicador_var.get('1.0', 'end-1c')
))
con.commit()
self.foto.grid_remove()
self.fetch_all()
self.limpiar()
con.close()
messagebox.showinfo("Exelente","Se actualizó correctamente el registro")