Herkese Merhaba, aşağıdaki gibi ilk örnek veritabanını oluşturdugum kısım, 2. ise projeme başladığım kısımda yazdığım koda defalarca bakmama rağmen hatamı bulamadım. Yardımcı olursanız çok sevinirim aldığım hatayı ekte gönderiyorum.
import sqlite3
import time
class Sarki():
def __init__(self,Sarki_İsmi,Sanatci,Album,Produksiyon_Sirketi,Sarki_Suresi):
self.Sarki_İsmi=Sarki_İsmi
self.Sanatci=Sanatci
self.Album=Album
self.Produksiyon_Sirketi=Produksiyon_Sirketi
self.Sarki_Suresi=Sarki_Suresi
def __str__(self):
print("Şarkı İsmi: {}\nSanatçı: {}\nAlbüm: {}\nProdüksiyon Şirketi: {}\nŞarkı Süresi: {}\n".format(self.Sarki_ismi,self.Sanatci,self.Album,self.Produksiyon_Sirketi,self.Sarki_Suresi))
class Veritabanı():
def __init__(self):
self.baglanti()
def sarkilari_goster(self):
sorgu = "Select * From Veritabanı"
self.cursor.execute(sorgu)
sarkilar = self.cursor.fetchall()
if (len(sarkilar) == 0):
print("Veritabanında Sarki Bulunmuyor...")
else:
for i in sarkilar:
sarki = Sarki(i[0],i[1],i[2],i[3],i[4])
print(sarki)
def sarki_sorgula(self,isim):
sorgu = "Select * From Veritabanı where isim = ?"
self.cursor.execute(sorgu,(isim,))
sarkilar = self.cursor.fetchall()
if (len(sarkilar) == 0):
print("Böyle bir kitap bulunmuyor...")
else:
sarki = Sarki(sarkilar[0][0],sarkilar[0][1],sarkilar[0][2],sarkilar[0][3],sarkilar[0][4])
print(sarki)
def baglanti(self):
self.con = sqlite3.connect("Veritabanı.db")
self.cursor = self.con.cursor()
sorgu = "CREATE TABLE IF NOT EXISTS Veritabanı (Sarki_İsmi TEXT,Sanatci TEXT, Album TEXT, Produksiyon_Sirketi TEXT,Sarki_Suresi INT"
self.cursor.execute(sorgu)
self.con.commit()
def toplam_sure(self):
sorgu = "Select * From Veritabanı"
self.cursor.execute(sorgu)
data = self.cursor.fetchall()
toplam = 0
if (len(data) == 0):
time.sleep(2)
print("Veritabanında Şarkı bulunmuyor...")
else:
for i in data:
toplam += Sarki(i[4])
return toplam
def sarki_ekle(self,sarki):
sorgu = "Insert into Veritabanı VALUES(?,?,?,?,?)"
self.cursor.execute(sorgu,(sarki.Sarki_ismi,sarki.Sanatci,sarki.Album,sarki.Produksiyon_Sirketi,sarki.Sarki_Suresi))
self.con.commit()
def sarki_sil(self,Sarki_İsmi):
sorgu = "Delete from Veritabanı where Sarki_İsmi = ?"
self.cursor.execute(sorgu,(Sarki_İsmi,))
self.con.commit()
Blok-alıntı
import time
from Veritabanı import *
print("""**************************************
Sarki Listesi Programına Hoşgeldiniz.
İşlemler;
1. Şarkıları Göster
2. Şarkı Sorgulama
3. Şarkı Ekle
4. Şarkı Sil
5. Toplam Şarkı Süresi
Çıkmak için 'q' ya basınız.
**************************************""")
depo = Veritabanı()
while True:
işlem = input("Yapacağınız İşlem: ")
if (işlem == "q"):
print("Program Sonlandırılıyor...")
print("Yine Bekleriz...")
break
elif (işlem == "1"):
depo.sarkilari_goster()
elif (işlem == "2"):
isim = input("Hangi şarkıyı istiyorsunuz? : ")
print("Şarkı sorgulanıyor...")
time.sleep(2)
depo.sarki_sorgula(isim)
elif (işlem == "3"):
Sarki_İsmi = input("Şarkı İsmi: ")
Sanatci = input("Sanatçı: ")
Album = input("Albüm: ")
Produksiyon_Sirketi = input("Prodüksiyon Şirketi: ")
Sarki_Suresi = input("Şarkı Süresi: ")
yeni_sarki = Sarki(Sarki_İsmi, Sanatci, Album, Produksiyon_Sirketi, Sarki_Suresi)
print("Şarkı ekleniyor...")
time.sleep(2)
depo.sarki_ekle(yeni_sarki)
print("Şarkı eklendi....")
elif (işlem == "4"):
Sarki_İsmi = input("Hangi şarkıyı silmek istiyorsunuz ? :")
cevap = input("Emin misiniz ? (E/H) : ")
elif (işlem == "5"):
depo.toplam_sure()
else:
print("Geçersiz İşlem...")