2016-03-22 21 views
1

Bir MySQL veritabanını python GUI ile bağlamaya çalışıyorum. Ancak kodun bu kısmı boş bir set döndürür. Hata kodlarım olmadığı için kodumda sorun yok emin değilim ... Lütfen yardım edin!MySQL'i Python (GUI) ile bağla

self.cursor.execute (self.query, (self.ProdNum,)) 
              HERE^ 

O sorgu parametreleri bir iterable olarak geçmesi beklenen beri oldukça önemlidir:

def ButtonPressed (self): 
    print("Finding Parts!") 
    self.ProdNum = self.aVar.get() 
    print("Entry text was:", self.ProdNum) 

    self.db = mysql.connector.connect (user='ezhu', password='<password>', host='127.0.0.1', database='centricsit_prices') 
    self.query = ("SELECT sd, sy, price FROM css_hp WHERE prod_num = '%s'") 
    self.cursor = self.db.cursor() 
    self.cursor.execute (self.query, (self.ProdNum)) 
    self.results = self.cursor.fetchall() 
    print (self.results) 
    self.cursor.close() 
+0

@alecxe: peki, 127.0.0.1 gibi OP'nin veritabanına girişte herhangi bir kullanım olacaktır ... –

cevap

1

Sen virgül eksik. Virgül bunu bir tuple yapardı. Virgül olmadan, sorgu parametrelerini de yinelenebilir olan bir dize olarak geçirirsiniz, bu nedenle sorgunuz self.ProdNum'un ilk karakteriyle parametrelenir, bu nedenle seçme sorgusuyla eşleşen hiçbir şey yoktur.

+0

Bu hızlı hata ayıklamanın adıdır. Güzel konum. – tommus

+0

Yardımınız için teşekkürler Alecxe !!! – Eva