Çözüldü "sqlite3.OperationalError: incomplete output" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
19 Ekim 2019
Mesajlar
1.423
Çözümler
4
Yer
Dire
Python'da veri tabanı oluşturmak ve kullanmakla ilgili bir kod yazmaya çalışıyorum lakin bazı hatalar alıyorum. Kod ve hata çıktısı ektedir. Yardım için şimdiden teşekkürler.

Python:
import sqlite3.
import time.

class Urun():
 def __init__(self,isim,adet,tur,fiyat):
 self.isim=isim
 self.adet=adet
 self.tur=tur
 self.fiyat=fiyat

 def __str__(self):
 return "Hayvan İsmi:{}\nAdet:{}\nHayvanın Türü:{}\nFiyat:{} Dolar".format(self.isim,self.adet,self.tur,self.fiyat)

class Hayvan_pazarı():
 def __init__(self):
 self.baglanti_olustur()

 def baglanti_olustur(self):
 self.baglanti=sqlite3.connect("stok.db")
 self.cursor=self.baglanti.cursor()
 komut="CREATE TABLE IF NOT EXISTS stok(İsim TEXT, Adet INT, Tür TEXT, Fiyat INT"
 self.cursor.execute(komut)
 self.baglanti.commit()

 def baglanti_kes(self):
 self.baglanti.close()

 def urunleri_goster(self):
 komut="Select * From stok"
 self.cursor.execute(komut)
 urunler=self.cursor.fetchall()
 if (len(urunler)==0):
 print("Hayvan pazarında ürün kalmamıştır.")

 else:
 for i in urunler:
 urun=Urun(i[0],i[1],i[2],i[3])
 print(urun)

 def urun_ekle(self,isim):
 komut="Insert Into stok values(?,?,?,?)"
 self.cursor.execute(komut,(isim.isim,isim.adet,isim.tur,isim.fiyat))
 self.baglanti.commit()

 def urun_sil(self,isim):
 komut="Delete from stok where İsim=?"
 self.cursor.execute(komut,(isim,))
 self.baglanti.commit()

 def adet_azalt(self,isim,adet):
 komut="Select Adet from stok where İsim=?"
 self.cursor.execute(komut,(isim,))
 urun_adet=self.cursor.fetchall
 for i in urun_adet:
 for j in i:
 if j<=0:
 print("Girdiğiniz ürünün stoğu tükenmiştir.")

 else:
 yeni_adet=j-miktar
 komut2="Update stok set Adet=? where İsim=?"
 self.cursor.execute(komut2,(yeni_adet,urun))
 self.baglanti.commit()

 def adet_artir(self,isim,adet):
 komut="Select Adet from stok where İsim=?"
 self.cursor.execute(komut,(isim,))
 urun_adet=self.cursor.fetchall()
 for i in urun_adet:
 for j in i:
 yeni_adet=j+miktar
 komut2="Update stok set Adet=? where İsim=?"
 self.cursor.execute(komut2,(yeni_adet,isim))
 self.baglanti.commit()

hayvan_pazarı=Hayvan_pazarı()

print("""
-----------------------
Hayvan Pazarı Uygulaması.
-----------------------
1- Ürünleri gör.
2- Hayvan ekle.
3- Hayvan sil.
4- Stok azalt.
5- Stok artır.
q- Exit.
-----------------------
""")

while True:
 islem=input("Ltfen yapmak istediğiniz işlemi giriniz:")
 if (islem=="q"):
 print("Program sonlandırılıyor...")
 hayvan_pazarı.baglanti_kes()
 break.
 elif (islem=="1"):
 hayvan_pazarı.urunleri_goster()

 elif (islem=="2"):
 isim = input("Ltfen eklemek istediğiniz hayvanın adını giriniz:")
 adet = input("Ltfen eklemek istediğiniz hayvan adedini giriniz:")
 tur = input("Ltfen eklemek istediğiniz hayvanın türünü giriniz:")
 fiyat = input("Ltfen eklemek istediğiniz hayvanın fiyatını giriniz:")
 yeni_urun=Urun(isim,adet,tur,fiyat)
 print("Hayvan stoğa ekleniyor...")
 time.sleep(2)
 hayvan_pazarı.urun_ekle(yeni_urun)
 print("Hayvan stoğa eklendi.")

 elif (islem=="3"):
 isim = input("Ltfen silmek istediğiniz hayvanın adını giriniz:")
 cevap = input("Emin misiniz? (E/H): ")
 if (cevap == "E"):
 print("Hayvan stoktan siliniyor...")
 time.sleep(2)
 hayvan_pazarı.urun_sil(isim)
 print("Hayvan stoktan silindi.")

 elif (islem=="4"):
 isim = input("Ltfen stoğunu azaltmak istediğiniz hayvanın adını giriniz:")
 adet=int(input("Ltfen azaltmak istediğiniz miktarı giriniz:"))
 print("Hayvan stoğu güncelleniyor...")
 time.sleep(2)
 hayvan_pazarı.adet_azalt(isim,adet)
 print("Hayvan stoğu güncellendi.")

 elif (islem=="5"):
 isim = input("Ltfen stoğunu artırmak istediğiniz hayvanın adını giriniz:")
 adet = int(input("Ltfen artırmak istediğiniz miktarı giriniz:"))
 print("Hayvan stoğu güncelleniyor...")
 time.sleep(2)
 hayvan_pazarı.adet_artir(isim, adet)
 print("Hayvan stoğu güncellendi.")

 else:
 print("Geçersiz işlem!")

Not: L*tfen yazmak yasakmış, ne alakaysa?
 

Dosya Ekleri

  • 1686933185147.png
    1686933185147.png
    43,2 KB · Görüntüleme: 103
Son düzenleme:
Hata mesajını neden okumuyorsunuz? Hatanın nerede olduğunu ve nasıl çözeceğinizi zaten anlatmış.

Bak hata mesajı nediyor; Hayvan pazarı sınıfında, bağlantı oluştur metodu içinden çağrılan cursor.execute() metoduna girdiğiniz komut TAMAMLANMAMIŞ! diyor.
 
Hata mesajını neden okumuyorsunuz? Hatanın nerede olduğunu ve nasıl çözeceğinizi zaten anlatmış.

Bak hata mesajı nediyor; Hayvan pazarı sınıfında, bağlantı oluştur metodu içinden çağrılan cursor.execute() metoduna girdiğiniz komut TAMAMLANMAMIŞ! diyor.
Aynı kodu eğitimde izledim, çalışıyor. Benimkinde hata nedir anlayamadım?
 

Technopat Haberler

Yeni konular

Yeni mesajlar

Geri
Yukarı