2016-03-20 23 views
0

Ben bir toplamı takip etmek için bir python değişkeninde bir sqlite sorgusunun çıktısını araştırmaya çalışırken sorun yaşıyorum. Ben c.fetchone() yöntemini kullanarak etrafa baktım ve örnekleri gördüm ama işe yaramaz gibi görünmüyor, TypeError hatası alıyorum: 'NoneType' nesnesi '___getitem____' özelliğine sahip değil. Bunun anlamını anlamıyorum. biri yardım edebilir mi?sqlite fetchone kullanarak toplam izleme varyantı

i = -1 
    i = i + 1 

    self.t = pytesseract.image_to_string(PIL.Image.open('test2.jpg')) 
    self.c.execute("SELECT name FROM item WHERE code = '%s'" % self.t) 
    self.listbox.insert(i,self.c.fetchone()) 
    self.listbox1.insert(i,"£") 
    self.c.execute("SELECT price FROM item WHERE code = '%s'" % self.t) 
    self.listbox2.insert(i,self.c.fetchone()) 

    self.y=self.c.fetchone()[i] 
    print self.y 

cevap

1

Bir kez değerini alıp yeniden gerekir: Ben sorguya self.t değerini geçiyorum nasıl

self.c.execute("SELECT price FROM item WHERE code = %s", (self.t,)) 

value = self.c.fetchone()[0] 
self.listbox2.insert(i, value) 
self.y = value 

Not - Bu parametre belirleme denir ve dize biçimlendirme kullanarak karşılaştırarak tercih edilmelidir SQL sorguları yapmak.

+0

bu kod değiştirdikten sonra ben çizgi self.c.execute üzerinde bir hata mesajı alıyorum ("öğesi SELECT fiyata NEREDE kodu =% s", (self.t,))% – user3676186

+0

yakın Operasyonel hata http : //stackoverflow.com/questions/775296/python-mysql-with-variables Burada okuyordum ve aynı sözdizimi gibi görünüyor ancak hala "%" yakınında İşlem hatası alıyorum: Sözdizimi hatası – user3676186

İlgili konular