Tkinter ile bir proje

Başlatan erdogdu90, 12 Ağustos 2014 - 08:57:01

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

erdogdu90

Kaydetmeyi hallettimde veri cağırma ve düzeltme işi kaldıimport tkinter as tk
from tkinter import *
from functools import partial
import sqlite3
vt = sqlite3.connect("veri.db")
im = vt.cursor()
avci = Tk()
avci.title("Avcı")
avci.geometry("300x300+100+100")# Giriş Sayfası tanımlandı

def new ():
    yeni_kayit = tk.Toplevel()
    yeni_kayit.title("YENİ KAYIT")
    yeni_kayit.geometry("800x400+100+100")

    no_lab = Label(yeni_kayit, text="Belge No:")
    no_lab.grid(row=0, column=0)
    no_entr = Entry(yeni_kayit)
    no_entr.grid(row=1, column=0)

    ad_lab = Label(yeni_kayit, text="Adı - Soyadı:")
    ad_lab.grid(row=0, column=1)
    ad_entr = Entry(yeni_kayit)
    ad_entr.grid(row=1, column=1)

    al_lab = Label(yeni_kayit, text="Aldığı Tarih:")
    al_lab.grid(row=0, column=2)
    al_entr = Entry(yeni_kayit)
    al_entr.grid(row=1, column=2)

    tc_lab = Label(yeni_kayit, text="TC No:")
    tc_lab.grid(row=0, column=3)
    tc_entr = Entry(yeni_kayit)
    tc_entr.grid(row=1, column=3)

    dogyer_lab = Label(yeni_kayit, text="Doğum Yeri:")
    dogyer_lab.grid(row=0, column=4)
    dogyer_entr = Entry(yeni_kayit)
    dogyer_entr.grid(row=1, column=4)

    dogtar_lab = Label(yeni_kayit, text="Doğum Yılı:")
    dogtar_lab.grid(row=0, column=5)
    dogtar_entr = Entry(yeni_kayit)
    dogtar_entr.grid(row=1, column=5)
   
    btn1 = Button(yeni_kayit,
                  text="Kaydet",
                  bd=5,
                  command=partial(save,
                                  no_entr,
                                  ad_entr,
                                  al_entr,
                                  tc_entr,
                                  dogyer_entr,
                                  dogtar_entr))
   
    btn1.grid(row=2, column=3)
    btn2 = Button(yeni_kayit,text="ÇIKIŞ", command=yeni_kayit.destroy, bd=5)
    btn2.grid(row=2, column=5)


def save(*args):
    csql = """CREATE TABLE if not exists personel
           (belge no, adı soyadı, aldığı tarih,
            tc no, 'doğum yeri', 'doğum tarihi')"""
    im.execute(csql)

    isql = """INSERT INTO personel VALUES
           (?, ?, ?, ?, ?, ?)"""
   
    im.execute(isql, ([i.get() for i in args]))
    vt.commit()
   
    if all([i.get() for i in args]):
        messagebox.showinfo('AVCI', 'Bilgiler başarıyla eklendi!')
    else:
        messagebox.showerror('AVCI', 'Bütün alanları doldurmadınız!')




   
def duzenle ():
    duzenle_kayit = tk.Toplevel()
    duzenle_kayit.title("DÜZENLE")
    duzenle_kayit.geometry("800x400+100+100")
    no_lab = Label(duzenle_kayit, text="Belge No:")
    no_lab.grid(row=0, column=0)
    no_entr = Entry(duzenle_kayit)
    no_entr.grid(row=1, column=0)

    ad_lab = Label(duzenle_kayit, text="Adı - Soyadı:")
    ad_lab.grid(row=0, column=1)
    ad_entr = Entry(duzenle_kayit)
    ad_entr.grid(row=1, column=1)

    al_lab = Label(duzenle_kayit, text="Aldığı Tarih:")
    al_lab.grid(row=0, column=2)
    al_entr = Entry(duzenle_kayit)
    al_entr.grid(row=1, column=2)

    tc_lab = Label(duzenle_kayit, text="TC No:")
    tc_lab.grid(row=0, column=3)
    tc_entr = Entry(duzenle_kayit)
    tc_entr.grid(row=1, column=3)

    dogyer_lab = Label(duzenle_kayit, text="Doğum Yeri:")
    dogyer_lab.grid(row=0, column=4)
    dogyer_entr = Entry(duzenle_kayit)
    dogyer_entr.grid(row=1, column=4)

    dogtar_lab = Label(duzenle_kayit, text="Doğum Yılı:")
    dogtar_lab.grid(row=0, column=5)
    dogtar_entr = Entry(duzenle_kayit)
    dogtar_entr.grid(row=1, column=5)

    get_entr = Entry(duzenle_kayit)
    get_entr.grid(row=2, column=0)
    get_btn = Button(duzenle_kayit, text="Kayıt GETİR")
    get_btn.grid(row=2, column=1)

    btn1 = Button(duzenle_kayit, text="Kaydet", bd=5)
    btn1.grid(row=2, column=3)
    btn2 = Button(duzenle_kayit,text="ÇIKIŞ", command=duzenle_kayit.destroy, bd=5)
    btn2.grid(row=2, column=5)

def liste ():
    listele = tk.Toplevel()
    listele.title("LİSTE")
    listele.geometry("800x400+100+100")
    no_lab2 = Label(listele, text="Belge No:")
    no_lab2.grid(row=0, column=0)
    no_entr2 = Entry(listele)
    no_entr2.grid(row=1, column=0)

    ad_lab2 = Label(listele, text="Adı - Soyadı:")
    ad_lab2.grid(row=0, column=1)
    ad_entr2 = Entry(listele)
    ad_entr2.grid(row=1, column=1)

    al_lab2 = Label(listele, text="Aldığı Tarih:")
    al_lab2.grid(row=0, column=2)
    al_entr2 = Entry(listele)
    al_entr2.grid(row=1, column=2)

    tc_lab2 = Label(listele, text="TC No:")
    tc_lab2.grid(row=0, column=3)
    tc_entr2 = Entry(listele)
    tc_entr2.grid(row=1, column=3)

    dogyer_lab2 = Label(listele, text="Doğum Yeri:")
    dogyer_lab2.grid(row=0, column=4)
    dogyer_entr2 = Entry(listele)
    dogyer_entr2.grid(row=1, column=4)

    dogtar_lab2 = Label(listele, text="Doğum Yılı:")
    dogtar_lab2.grid(row=0, column=5)
    dogtar_entr2 = Entry(listele)
    dogtar_entr2.grid(row=1, column=5)

    get_entr2 = Entry(listele)
    get_entr2.grid(row=2, column=0)
    get_btn2 = Button(listele, text="Kayıt GETİR", command=ara)
    get_btn2.grid(row=2, column=1)

    btn3 = Button(listele, text="Kaydet", bd=5)
    btn3.grid(row=2, column=3)
    btn4 = Button(listele,text="ÇIKIŞ", command=listele.destroy, bd=5)
    btn4.grid(row=2, column=5)
#def ara ():
    #SELECT * FROM personel WHERE name LIKE

   

kyt_btn = Button(text="Yeni Kayıt", command=new, fg="blue", width=15)
kyt_btn.pack(side="top")
duz_btn = Button(text="Düzenle",command=duzenle, fg="blue", width=15)
duz_btn.pack(side="top")
liste = Button(text="Listele", fg="blue", width=15, command=liste)
liste.pack(side="top")
cks_btn = Button(text="ÇIKIŞ", command=avci.destroy, fg="blue", width=15)
cks_btn.pack(side="top")

mainloop()

empax

Başlangıcı yapın devamını getirmeye çalışalım. :)
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

erdogdu90

#27
Zaten Yapmıştım ama def ara ():
    SELECT * FROM personel WHERE name LIKE



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 21 Ağustos 2014 - 13:25:44

şöyele bişi denedim hata aldımdef ara (*args):
    im.execute("""SELECT * FROM personel(belge no, adı soyadı, aldığı tarih,
            tc no, 'doğum yeri', 'doğum tarihi') WHERE name LIKE""")
    isql = """INSERT INTO personel VALUES
           (?, ?, ?, ?, ?, ?)"""
   
    im.execute(isql, ([i.get() for i in args]))
   
    listeler = im.fetchall(csql)

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1487, in __call__
    return self.func(*args)
  File "C:\Users\lerdogdu\Desktop\Avcı 2\Avcı.py", line 173, in ara
    tc no, 'doğum yeri', 'doğum tarihi') WHERE name LIKE""")
sqlite3.OperationalError: near "(": syntax error


empax

belge no, adı soyadı, aldığı tarih,  tc no, 'doğum yeri', 'doğum tarihi

Tablonun kolon başlıkları bu şekilde isimlendirilince çalışır mı emin değilim ama tahminimce sorun bunlardan kaynaklanıyor.

1- Boşluk hatası
belge no yerine: belge_no
tc no yerine : tc_no

2- Türkçe karakter
adı soyadı yerine: adi_soyadi
doğum yeri yerine: dogum_yeri
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|