Merhabalar,
Profil adındaki toplevel’de, veritabanından profil güncellemesi yapmak istiyorum. Fakat AttributeError: ‘tuple’ object has no attribute ‘encode’ hatası alıyorum. isim değişkeni, uye olurken kullanıcıdan aldığım mail adresi. Zaten fonksiyon içerisinde de mail olarak tanımladım. Fakat nerede hata yaptığımı anlamadım.
def guncelle(profil, veritab,isim,sifreentry, adentry, soyadentry):
mail=isim.get()
mycursor5 = veritab.cursor()
sorgu = ("UPDATE musteriler SET (sifre = %s,ad = %s, soyad= %s) WHERE mail =%s")
deger = (sifreentry.get(), adentry.get(), soyadentry.get(),isim.get())
mycursor5.execute(sorgu, deger)
veritab.commit()
if sifreentry.get() == sifreentry.get():
sorgu = ("UPDATE musteriler SET (sifre = %s) WHERE mail =%s")
deger = (sifreentry.get(),isim.get())
mycursor5.execute(sorgu, deger)
veritab.commit()
uyari_mesaji = messagebox.showinfo("Bilgilendirme", "Güncelleme Başarılı!",parent=profil)
elif adentry.get() == adentry.get():
sorgu = ("UPDATE musteriler SET (ad = %s) WHERE mail =%s")
deger = (adentry.get(),isim.get())
mycursor5.execute(sorgu, deger)
veritab.commit()
uyari_mesaji = messagebox.showinfo("Bilgilendirme", "Güncelleme Başarılı!",parent=profil)
elif soyadentry.get() ==soyadentry.get():
sorgu = ("UPDATE musteriler SET (soyad = %s) WHERE mail =%s")
deger = (soyadentry.get(),isim.get())
mycursor5.execute(sorgu, deger)
veritab.commit()
uyari_mesaji = messagebox.showinfo("Bilgilendirme", "Güncelleme Başarılı!",parent=profil)
else:
pass ```