Arkadaşlar hepinize merhaba;
Yazbel Python Belgeleri’nden de yararlandığım Python eğitimimde, sqlite3 ile veritabanı oluşturma denemeleri yapıyorum.
Bir adet telefon defteri/fihrist tarzında bir database oluşturuyorum.
Mesela amacım fonksiyona numarayı yazdığımızda, o kaydın gelmesini sağlamak.
import sqlite3
conn = sqlite3.connect("fihrist.db")
c=conn.cursor()
c.execute(""" CREATE TABLE IF NOT EXISTS numaralar(
isim TEXT,
soyisim TEXT,
yas INTEGER,
numara INTEGER)
""")
conn.commit()
def kayitekle(isim,soyisim,yas,numara):
c.execute("INSERT INTO numaralar VALUES (?,?,?,?)", (isim,soyisim,yas,numara))
conn.commit()
return print("Kayıt başarıyla eklenmiştir.")
def kayitgetir():
c.execute ("SELECT * FROM numaralar")
conn.commit()
return print(c.fetchall())
def kisigetir(numara=0):
c.execute("SELECT * FROM numaralar WHERE numara=?",(numara))
conn.commit()
return print(c.fetchall())
def kayitduzenle(isim,soyisim,numara):
c.execute("UPDATE numaralar SET numara=? WHERE isim=? AND soyisim=?",(numara,isim,soyisim))
conn.commit()
return print("Kayıt başarılı bir şekilde düzenlendi.")
def kayitsil(isim,soyisim):
onay = input("Silmek istediğinize emin misiniz? ----Evet,Hayır")
if onay == "Evet":
c.execute("DELETE FROM numaralar WHERE isim=? AND soyisim=?",(isim,soyisim))
conn.commit()
mesaj = print("Başarıyla silindi.")
else:
mesaj = print("Silinmekten vazgeçildi.")
return mesaj
Kodun tam hali bu şekildedir.
Aşağıda belirttiğim kısımda hata alıyorum.
def kisigetir(numara=0):
c.execute("SELECT * FROM numaralar WHERE numara=?",(numara))
conn.commit()
return print(c.fetchall())
Yazdığım bu kodlarla sonuç alamadım. Nerede hata yapıyorum. Aydınlatabilir misiniz?